cmake - 如何根据使用的功能自动选择最小的cmake版本?

标签 cmake

例如,我想在CMakeLists.txt中指定c++ standard:

set_property(TARGET tgt PROPERTY CXX_STANDARD 98)

但这仅自cmake 3.1.3起可用。不幸的是,我仍然能够在CMakeLists.txt的第一行写代码:
cmake_minimum_required(VERSION 2.8)

如何确定指定正确的要求(3.1.3而不是2.8)?

最佳答案

命令cmake_minimum_required并不是要检查您的代码是否可以从请求的CMake版本执行。设置CMake策略取决于请求的CMake版本,请参阅。 the documentation
因此,您必须使用cmake_minimum_required给定的版本中的CMake测试代码,并希望捕获所有相关的代码路径。

关于cmake - 如何根据使用的功能自动选择最小的cmake版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51631599/

相关文章:

c++ - 不同编译器中的 std::filesystem 和 std::experimental::filesystem 问题

cmake - 使用 MacPorts 安装 cmake 时出现问题

c++ - 包含其他库的 CMake add_library

c++ - 配置cmake以根据环境选择编译器

linux - CMake/CPack : Preferred package generators for different platforms

c++ - KDevelop4:在CMake之前设置环境变量

windows-installer - 在 CMake + CPack + NSIS 中创建 Windows 桌面图标

visual-studio - 如何在 CMake 中打印 WORKING_DIRECTORY?

makefile - 将选项传递给 cmake 以供将来交叉编译的选项 (CROSS_COMPILE)

c++ - 在 CMake 中,如何测试编译器是否为 Clang?