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 变量文档中的描述选择一个版本。