cmake_binary_dir在子目录中更改

时间:2018-05-30 21:01:48

标签: cmake

我在顶级CMakeLists.txt中有这个:

set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/cmakebuild/bin)
MESSAGE("Value is: \n${CMAKE_BINARY_DIR} ")
add_subdirectory("sub/subA")

在子目录CMakeLists.txt中,我有这个

MESSAGE("SUBDIR Value is: \n${CMAKE_BINARY_DIR} ")

但是cmake的输出是

Value is:
/home/me/myproj/cmakebuild/bin
SUBDIR Value is:
/home/me/myproj/cmakebuild

为什么/ bin最终没有?

1 个答案:

答案 0 :(得分:2)

永远不要设置变量,例如CMAKE_BINARY_DIRCMAKE_CURRENT_BINARY_DIR - CMake会自动设置它们,并且不希望它们在外面更改。

设置这些变量只会让CMake感到困惑,事情变得非常奇怪。