cmake add_subdirectory与其他cmake文件名而不是CMakeLists.txt

时间:2015-04-09 10:43:34

标签: cmake

CMake文档说明当执行 add_subdirectory 时,cmake会在目录中查找CMakeLists.txt。有没有办法更改makefile的名称?例如,如果我有两个完全不同的配置的cmake文件,并且不想将所有内容混合在一起。

当然我可以根据配置创建CMakeLists.txt并在其中包含其他内容,但我很好奇是否可以使 add_subdirectory 查找具有任意名称的make文件

2 个答案:

答案 0 :(得分:2)

不,没有办法做到这一点。文件名CMakeLists.txt在CMake中无法进行硬编码。正如您所说,您最好的选择是创建一个“路标”CMakeLists.txt文件,根据您需要的逻辑创建include()真实内容。

答案 1 :(得分:0)

我知道这个问题很旧,但是我会回答,以防万一。根据《专业CMake》第三版,您应该使用

include(fileName [OPTIONAL] [RESULT_VARIABLE myVar] [NO_POLICY_SCOPE])

“ include()期望读取文件的名称,而add_subdirectory()期望目录,并在该目录中查找CMakeLists.txt文件。传递给include()的文件名通常具有扩展名。 cmake,但可以是任何东西。”第56页。

请注意,add_subdirectory()和include()之间还有其他区别,所以我建议您拿起这本书并阅读一下。