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 应用商店为目标时支持此功能。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 变量文档中的描述选择一个版本。