cmake_current_source_dir用作变量

时间:2013-03-13 03:59:37

标签: cmake

请查看下面的场景:

cmakelists_1.txt

set( variable_name
     ${CMAKE_CURRENT_SOURCE_DIR}/sub_folder1
     ${CMAKE_CURRENT_SOURCE_DIR}/sub_folder2
    )

cmakelists_2.txt

include_directories(
    ${variable_name}
)

现在,当cmakelists_2执行时,它不包含sub_folders中存在的文件。但是如果我为cmakelists_1中的sub_folders提供绝对路径,它就可以工作。

如果我错过了什么,请指出我。

1 个答案:

答案 0 :(得分:0)

CMAKE_CURRENT_SOURCE_DIR始终是提及它的CMakeLists.txt所在的当前源目录。所以它根据使用的目录扩展到不同的东西。它为您扩展的是什么,与您的硬编码路径有何不同?一旦你看到差异,你就会知道如何解决它,所以在两个文件中都这样做:

message(${variable_name})

然后重新运行cmake并查看它打印的内容。