CMAKE_SOURCE_DIR在哪里?

时间:2014-05-12 11:06:32

标签: cmake

此变量是否始终设置为包含我运行CMakeLists.txt的{​​{1}}文件的目录?

例如,如果我希望在当前目录上方目录中存在的cmake文件上运行cmake,我会去:CMakeLists.txt

在这种情况下,我的CMAKE_SOURCE_DIR设置为什么?

1 个答案:

答案 0 :(得分:9)

假设您有2个文件夹srcbuild,其中src包含您的项目,而build是您刚创建的空文件夹,因此您可以部署其中的树构建:CMAKE_SOURCE_DIRsrc的路径,其中CMAKE_BINARY_DIR指向build

请注意,如果您正在进行树内构建,则2个缓存条目将获得相同的值。

link:CMake Useful Variables


<强> 修改

进一步澄清

<some location>/src/CMakeLists.txt ( so *src* is the root of your project )
<some location>/build

如果您执行类似

的操作
cd <some location>/build
cmake <some location>/src

您正在进行树外构建,其中CMAKE_SOURCE_DIRCMAKE_BINARY_DIR获得不同的值