| CMAKE_GENERATOR_PLATFORM |
| ------------------------ |
| |
| .. versionadded:: 3.1 |
| |
| Generator-specific target platform specification provided by user. |
| |
| Some CMake generators support a target platform name to be given |
| to the native build system to choose a compiler toolchain. |
| If the user specifies a platform name (e.g. via the :option:`cmake -A` |
| option or via the :envvar:`CMAKE_GENERATOR_PLATFORM` environment variable) |
| the value will be available in this variable. |
| |
| The value of this variable should never be modified by project code. |
| A toolchain file specified by the :variable:`CMAKE_TOOLCHAIN_FILE` |
| variable may initialize ``CMAKE_GENERATOR_PLATFORM``. Once a given |
| build tree has been initialized with a particular value for this |
| variable, changing the value has undefined behavior. |
| |
| Platform specification is supported only on specific generators: |
| |
| * For :ref:`Visual Studio Generators` with VS 2005 and above this |
| specifies the target architecture. |
| |
| * For :generator:`Green Hills MULTI` this specifies the target architecture. |
| |
| See native build system documentation for allowed platform names. |
| |
| .. _`Visual Studio Platform Selection`: |
| |
| Visual Studio Platform Selection |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| The :ref:`Visual Studio Generators` support platform specification |
| using one of these forms: |
| |
| * ``platform`` |
| * ``platform[,key=value]*`` |
| * ``key=value[,key=value]*`` |
| |
| The ``platform`` specifies the target platform (VS target architecture), |
| such as ``x64``, ``ARM64``, or ``Win32``. The selected platform |
| name is provided in the :variable:`CMAKE_VS_PLATFORM_NAME` variable. |
| |
| The ``key=value`` pairs form a comma-separated list of options to |
| specify generator-specific details of the platform selection. |
| Supported pairs are: |
| |
| ``version=<version>`` |
| .. versionadded:: 3.27 |
| |
| Specify the Windows SDK version to use. This is supported by VS 2015 and |
| above when targeting Windows 10.0+ or Windows Store. CMake will set the |
| :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION` variable to the |
| selected SDK version. |
| |
| The ``<version>`` may be one of: |
| |
| ``10.0`` |
| Specify that any 10.0 SDK version may be used, and let Visual Studio |
| pick one. This is supported by VS 2019 and above. |
| |
| ``10.0.<build>.<increment>`` |
| Specify the exact 4-component SDK version, e.g., ``10.0.19041.0``. |
| The specified version of the SDK must be installed. It may not exceed |
| the value of :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM`, |
| if that variable is set. |
| |
| If the ``version`` field is not specified, CMake selects a version as |
| described in the :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION` |
| variable documentation. |