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=`` .. versionadded:: 3.27 Specify the Windows SDK version to use. This is supported by VS 2015 and above when targeting Windows or Windows Store. CMake will set the :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION` variable to the selected SDK version. The ```` 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..`` 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. ``8.1`` Specify the 8.1 SDK version. This is always supported by VS 2015. On VS 2017 and above the 8.1 SDK must be installed. If the ``version`` field is not specified, CMake selects a version as described in the :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION` variable documentation.