cmake - 子目录内的 cmake_binary_dir 更改
问题描述
我在我的顶级 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 不存在?
解决方案
永远不要设置像CMAKE_BINARY_DIR
,这样的变量CMAKE_CURRENT_BINARY_DIR
- CMake 会自动设置它们,并且不希望它们在外部被更改。
设置这些变量只会让 CMake 感到困惑,事情变得很奇怪。
推荐阅读
- angular - 如何根据条件隐藏材质树中的节点?
- vb.net - 从括号中的行中获取特定值 (Visual Studio 2019)
- c# - 如何验证标头 application/x-zip-compressed 是 ZIP 存档?
- javascript - 如何从实时数据库中硬编码我的数据?
- tableau-api - 如何在 Tableau 中为每个轴绘制一个度量?
- javascript - 如何将 JSON 中的 SQL 主键转换为 javascript 对象键,并将其他数据作为其值
- python - 基于另一个列表对元组列表进行排序?
- types - 什么是 succ_typings 为 false 的 Dialyzer?
- javascript - 如何通过jquery在文本字段中添加更多值与现有值
- unity3d - Unity不加载项目