如何在cmake中找到名为include的所有子目录

时间:2016-11-14 22:45:26

标签: cmake

如何在cmake中找到名为include的所有目录?例如,如果目录结构是这样的:

root
include/
a/
  include/
b/
  c/
     d/
        include/

我想为变量分配所有找到的路径:

root/include
root/a/include
root/b/c/d/include

我尝试使用GLOBE_RECURSE,但没有成功。

1 个答案:

答案 0 :(得分:0)

file(GLOB_RECURSE include_dirs LIST_DIRECTORIES true
    RELATIVE ${CMAKE_SOURCE_DIR} "include")

这可以从CMake 3.3开始,因为选项 LIST_DIRECTORIES 仅出现在此版本中。 (默认情况下, GLOB_RECURSE 模式选项 LIST_DIRECTORIES 为false)。