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 变量。