1

我在我的顶级 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 不存在?

4

1 回答 1

2

永远不要设置像CMAKE_BINARY_DIR,这样的变量CMAKE_CURRENT_BINARY_DIR- CMake 会自动设置它们,并且不希望它们在外部被更改。

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

于 2018-05-30T21:17:14.807 回答