Define the entry point to each mode as an option for the `cmake`
program, but reference the options for that mode as part of stand-in
`cmake-<mode>` programs.
If backslashes are used for CMAKE_GENERATOR_TOOLSET, then ctest
processing will complain about COMP0010.
For example:
Syntax error in cmake code at
C:/Users/XXX/test_bld/Tests/CTestTestfile.cmake:253
when parsing string
C:\Users\XXX\bin_tools\XXX
Invalid escape sequence \U
Policy CMP0010 is not set: Bad variable reference syntax is an error. Run
"cmake --help-policy CMP0010" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
Selection of a BSP only needs to be performed if not set by user.
Remove all the logic for printing error and status messages about BSP
selection. These messages also breaks CMake tests.
NOTE: If BSP selection fails then the compiler checks will result in
a build error. The build error will report that the BSP does not exist.
Support for `CMAKE_GENERATOR_INSTANCE` was added in CMake 3.11, but the
possibility was mentioned in a comment in older versions, so the wrong
versionadded value was used in commit c43e845d09 (Help: Add `..
versionadded` directives to generator docs, 2020-11-11,
v3.20.0-rc1~476^2).
Extend the list of project types added by commit a82eb539f0 (Help:
Describe the type of Visual Studio projects that can be generated,
2018-08-04, v3.13.0-rc1~227^2) to mention that Fortran projects are
supported with Intel compiler integration.
More `.. versionadded` could be added later when the features,
variables and properties relevant to each generator are properly
documented.
Issue: #19715
Extend the `-T <toolset>` option to support a `buildsystem=` field with
the Xcode generator. Add a `CMAKE_XCODE_BUILD_SYSTEM` variable to
inform project code about the selected build system variant.
Since commit 83ddc4d289 (VS: Do not select a Windows SDK too high for
current VS version, 2017-08-07, v3.13.0-rc1~72^2~2) we enforce a maximum
SDK version for the VS 2015 generator. The blog post linked in the
original commit is no longer available, but it can be seen here:
* https://web.archive.org/web/20190108032520/https://blogs.msdn.microsoft.com/chuckw/2018/10/02/windows-10-october-2018-update/
In particular, it states:
> VS 2015 Users: The Windows 10 SDK (15063, 16299, 17134, 17763)
> is officially only supported for VS 2017.
However, in some circumstances a higher version can be used.
Add a `CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM` to override the
generator's default maximum SDK version.
Fixes: #20633
Ninja 1.10 was released in Jan 2020 and has the features we need
to support Fortran. Replace documentation that mentions Kitware's
branch with mention of Ninja 1.10+ instead.
Also rename `..._DEFAULT_BUILD_FILE_CONFIG` to `..._DEFAULT_BUILD_TYPE`.
These name changes make the variables meaningful for future use by other
generators.
Many users will want to use the Ninja Multi-Config generator like a
traditional Visual Studio-style multi-config generator, which doesn't
mix configurations - custom commands are built using target executables
of the same configuration the command is for. We do not want to force
these people to generate an N*N build matrix when they only need N*1,
especially if they have lots of targets. Add a new variable,
CMAKE_NINJA_CROSS_CONFIG_ENABLE, to opt-in to the cross-config build
matrix.