CMAKE_GENERATOR_PLATFORM

版本 3.1 中新增。

用户提供的、特定于生成器的目标平台规范。

一些 CMake 生成器支持将目标平台名称提供给本地构建系统以选择编译器工具链。如果用户指定了平台名称(例如,通过 cmake -A 选项或通过 CMAKE_GENERATOR_PLATFORM 环境变量),则该值将在此变量中可用。

此变量的值绝不应被项目代码修改。由 CMAKE_TOOLCHAIN_FILE 变量指定的工具链文件可能会初始化 CMAKE_GENERATOR_PLATFORM。一旦给定的构建树被此变量的特定值初始化,更改该值将产生未定义的行为。

平台规范仅在特定生成器上受支持

有关允许的平台名称,请参阅本地构建系统文档。

Visual Studio 平台选择

Visual Studio 生成器支持使用以下任一形式进行平台规范:

  • platform

  • platform[,key=value]*

  • key=value[,key=value]*

platform 指定目标平台(VS 目标架构),例如 x64ARM64Win32。所选的平台名称在 CMAKE_VS_PLATFORM_NAME 变量中提供。

key=value 对构成一个逗号分隔的选项列表,用于指定平台选择的生成器特定详细信息。支持的对是:

version=<version>

在 3.27 版本中新增。

指定要使用的 Windows SDK 版本。这由 VS 2015 及更高版本支持,在定位 Windows 或 Windows Store 时。CMake 会将 CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION 变量设置为选定的 SDK 版本。

<version> 可以是以下之一:

10.0

指定可以使用任何 10.0 SDK 版本,并让 Visual Studio 选择一个。这由 VS 2019 及更高版本支持。

10.0.<build>.<increment>

指定精确的 4 字节 SDK 版本,例如 10.0.19041.0。必须安装指定版本的 SDK。它不能超过 CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM 的值(如果该变量已设置)。

8.1

指定 8.1 SDK 版本。VS 2015 始终支持此版本。在 VS 2017 及更高版本上,必须安装 8.1 SDK。

如果未指定 version 字段,CMake 将按 CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION 变量文档中所述的方式选择一个版本。