如何获取CMake中所有添加的子目录的列表

时间:2016-05-19 11:11:26

标签: cmake

在CMake中可以使用add_subdirectory()添加子目录。 如何获取已在CMake中添加的所有子目录的列表?

2 个答案:

答案 0 :(得分:2)

通过调用您自己的功能来替换每个呼叫,例如: G。 add_and_store_subdirectory()将目录添加到全局变量。

答案 1 :(得分:1)

CMake 3.7在目录上有一个SUBDIRECTORIES property。例如,要获取DIRNAME的所有子目录:

get_directory_property(subdir_list DIRECTORY ${DIRNAME} SUBDIRECTORIES)
foreach(subdir ${subdir_list})
  message(STATUS "${subdir}")
endforeach()

使用此方法无需为addig子目录定义自定义函数。