1Visual Studio 14 2015
2---------------------
3
4.. versionadded:: 3.1
5
6Generates Visual Studio 14 (VS 2015) project files.
7
8Project Types
9^^^^^^^^^^^^^
10
11Only Visual C++ and C# projects may be generated (and Fortran with
12Intel compiler integration).  Other types of projects (JavaScript,
13Powershell, Python, etc.) are not supported.
14
15Platform Selection
16^^^^^^^^^^^^^^^^^^
17
18The default target platform name (architecture) is ``Win32``.
19
20The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps
21via the :manual:`cmake(1)` ``-A`` option, to specify a target platform
22name (architecture).  For example:
23
24* ``cmake -G "Visual Studio 14 2015" -A Win32``
25* ``cmake -G "Visual Studio 14 2015" -A x64``
26* ``cmake -G "Visual Studio 14 2015" -A ARM``
27
28For compatibility with CMake versions prior to 3.1, one may specify
29a target platform name optionally at the end of the generator name.
30This is supported only for:
31
32``Visual Studio 14 2015 Win64``
33  Specify target platform ``x64``.
34
35``Visual Studio 14 2015 ARM``
36  Specify target platform ``ARM``.
37
38Toolset Selection
39^^^^^^^^^^^^^^^^^
40
41The ``v140`` toolset that comes with Visual Studio 14 2015 is selected by
42default.  The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
43via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
44
45.. |VS_TOOLSET_HOST_ARCH_DEFAULT| replace::
46   By default this generator uses the 32-bit variant even on a 64-bit host.
47
48.. include:: VS_TOOLSET_HOST_ARCH_LEGACY.txt
49
50.. _`Windows 10 SDK Maximum Version for VS 2015`:
51
52Windows 10 SDK Maximum Version for VS 2015
53^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
54
55.. versionadded:: 3.19
56
57Microsoft stated in a "Windows 10 October 2018 Update" blog post that Windows
5810 SDK versions (15063, 16299, 17134, 17763) are not supported by VS 2015 and
59are only supported by VS 2017 and later.  Therefore by default CMake
60automatically ignores Windows 10 SDKs beyond ``10.0.14393.0``.
61
62However, there are other recommendations for certain driver/Win32 builds that
63indicate otherwise.  A user can override this behavior by either setting the
64:variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM` to a false value
65or setting the :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM` to
66the string value of the required maximum (e.g. ``10.0.15063.0``).
67