我真的很喜欢拥有我的顶级项目,推动我的子项目的编译。我目前有一棵树,例如:
gdcm -- cmake_minimum_required(VERSION 3.8.2 FATAL_ERROR)
??? Utilities
? ??? gdcmcharls -- cmake_minimum_required(VERSION 2.8.7)
Run Code Online (Sandbox Code Playgroud)
我想让它尽可能接近我有一个方便的副本的每个不同的上游项目。但是,当我想测试 CMake 的新功能时,我不能简单地更改顶级 CMakeList.txt 文件并希望将新策略传输到单个子项目(根据嵌套命令的定义cmake_minimum_required
)。
有没有成语可以这样说:
if(TOPLEVEL PROJECT)
cmake_minimum_required(VERSION 2.8.7)
else()
cmake_minimum_required(VERSION ${INHERITED_VERSION})
endif()
Run Code Online (Sandbox Code Playgroud)
像这样的东西应该有效:
if(NOT DEFINED CMAKE_MINIMUM_REQUIRED_VERSION)
cmake_minimum_required(VERSION 2.8.7)
endif()
Run Code Online (Sandbox Code Playgroud)
如果它已经定义,我不会调用cmake_minimum_required
,因为这将覆盖您在主项目中手动设置的策略。
归档时间: |
|
查看次数: |
302 次 |
最近记录: |