CMAKE_PROJECT_COMPAT_VERSION¶
在 4.1 版本中新增。
注意
实验性。受 CMAKE_EXPERIMENTAL_EXPORT_PACKAGE_INFO 控制。
顶级项目的兼容性版本。
此变量保存顶级 `CMakeLists.txt` 文件中通过 `project()` 命令指定的项目的兼容性版本。如果顶级 `CMakeLists.txt` 包含多个 `project()` 调用,则该顶级 `CMakeLists.txt` 中最后调用的那个将决定 `CMAKE_PROJECT_COMPAT_VERSION` 所包含的值。例如,请考虑以下顶级 `CMakeLists.txt`:
cmake_minimum_required(VERSION 4.1)
project(First VERSION 9.0 COMPAT_VERSION 1.2.3)
project(Second VERSION 9.0 COMPAT_VERSION 3.4.5)
add_subdirectory(sub)
project(Third VERSION 9.0 COMPAT_VERSION 6.7.8)
以及以下内容的 sub/CMakeLists.txt:
project(SubProj VERSION 2.0 COMPAT_VERSION 1.0)
message("CMAKE_PROJECT_COMPAT_VERSION = ${CMAKE_PROJECT_COMPAT_VERSION}")
来自顶级 `CMakeLists.txt` 的最后看到的 `project()` 命令将是 `project(Second ...)`,因此这将打印:
CMAKE_PROJECT_COMPAT_VERSION = 3.4.5
要获取当前目录作用域或以上作用域中最后一次调用 `project()` 命令的版本,请参阅 `PROJECT_COMPAT_VERSION` 变量。