Commit Graph

120 Commits

Author SHA1 Message Date
Alex Turbov
3043c17039 Help: Add more CLI :option: references to various pages 2022-10-20 11:21:40 -04:00
Craig Scott
248cfb5b6e
Help: The Xcode generator does not support per-config sources
Fixes: #23106
2022-10-08 20:11:25 +11:00
Brad King
b768a5e23b Help: Disambiguate cmake(1) program modes in Sphinx option references
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.
2022-10-05 15:27:40 -04:00
Brad King
6c1337cb79 Deprecate Visual Studio 11 2012 generator
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2022-09-27 11:45:50 -04:00
Brad King
8d6f015d59 Drop Visual Studio 10 2010 generator
This generator has been deprecated since CMake 3.22.  Remove it.
2022-09-26 15:43:04 -04:00
Alex Turbov
04843d743e Help: Replace a bunch of more `--option to :option:` role 2022-08-04 19:34:45 +04:00
Alex Turbov
b57f27b087 Help: Replace mentions of `-T and -A` options with role 2022-08-04 19:34:45 +04:00
Fred Baksik
ab6f0b51b1 GHS: Add note about -T and path style
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.
2021-11-15 13:15:12 -05:00
Fred Baksik
a55b5c4e18 GHS: Update BSP selection logic
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.
2021-11-15 13:15:11 -05:00
Fred Baksik
bff48c5908 GHS: Update generator documentation
Break up into different sections and add examples
2021-11-15 13:15:09 -05:00
Brad King
152f9978dd Help: De-duplicate VS instance selection documentation
Add a section to `CMAKE_GENERATOR_INSTANCE` for VS instance selection,
and reference it from the corresponding sections of each VS generator.
2021-10-29 11:52:57 -04:00
Brad King
0ad79f7ba8 Help: Fix versionadded for VS 15 2017 instance selection
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).
2021-10-29 09:47:01 -04:00
Brad King
050ed59412 Merge branch 'backport-3.21-vs2022' into vs2022 2021-10-27 08:51:00 -04:00
Brad King
f3ddc52676 VS: Update Visual Studio 17 2022 generator for the Release Candidates
Assume this is close enough to the final release to treat as
non-experimental support.
2021-10-27 08:49:47 -04:00
Brad King
d5a7448fa4 Merge branch 'backport-3.21-vs2022' into vs2022 2021-10-19 09:36:19 -04:00
Brad King
3d9d75b0be VS: Update Visual Studio 17 2022 generator for the Release Candidate 2021-10-19 09:27:37 -04:00
Brad King
6dfe28f33c Merge branch 'backport-3.21-vs2022' into vs2022 2021-10-14 13:40:20 -04:00
Brad King
a8414190da VS: Update Visual Studio 17 2022 generator for Preview 5 2021-10-14 13:39:45 -04:00
Brad King
1b91aaecd8 Merge topic 'vs2022'
b6ac10394b VS: Update Visual Studio 17 2022 generator for Preview 4
f200f4d5a7 VS: Fix managed C++ project generation for VS 2022

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6524
2021-09-16 08:16:54 -04:00
Brad King
b6ac10394b VS: Update Visual Studio 17 2022 generator for Preview 4 2021-09-15 13:20:02 -04:00
Brad King
bd8a6e8abe Merge topic 'vs2022'
c8ec137da7 VS: Update Visual Studio 17 2022 generator for Preview 3.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6480
2021-08-25 09:59:47 -04:00
Brad King
c8ec137da7 VS: Update Visual Studio 17 2022 generator for Preview 3.1
Issue: #22339
2021-08-25 09:47:30 -04:00
Brad King
22dab6eb96 Deprecate Visual Studio 10 2010 generator
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2021-07-29 14:15:01 -04:00
Brad King
0c7f918fb1 VS: Update Visual Studio 17 2022 generator for Preview 2
In particular, update to toolset `v143`.

Fixes: #22339
2021-07-15 13:12:55 -04:00
Brad King
ab06f78182 Help: Document VS generator support for Intel Fortran
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.
2021-06-30 09:31:55 -04:00
Brad King
c46b265839 VS: Add Visual Studio 17 2022 generator
Fixes: #22339
2021-06-25 12:45:44 -04:00
Brad King
43375c6418 Help: Remove unnecessary Sphinx versionadded markup in VS toolset selection
In a document that says "New in version 3.14", we do not need any blocks
that say "New in version 3.8".
2021-06-25 10:07:31 -04:00
Kyle Edwards
dbe3f8eee7 Help: Clarify default value of CMAKE_CONFIGURATION_TYPES for NMC
Fixes: #22266
2021-06-02 08:57:43 -04:00
Josef Angstenberger
7072d83772
Help: Fix typos and spelling in documentation 2021-05-07 17:00:17 +02:00
Kyle Edwards
98805a11ce Ninja Multi-Config: Run POST_BUILD when BYPRODUCTS don't overlap
Fixes: #21252
2021-01-07 11:26:17 -05:00
Kyle Edwards
dcf9f4d2f7 Ninja Multi-Config: Add support for cross-config custom commands
Co-Author: Brad King <brad.king@kitware.com>
2020-12-15 07:01:21 -05:00
Nikita Nemkin
5000f93a91 Help: Fix grammar in .. versionadded directives
Issue: #19715
2020-12-02 21:00:31 +05:00
Nikita Nemkin
c43e845d09 Help: Add .. versionadded directives to generator docs
More `.. versionadded` could be added later when the features,
variables and properties relevant to each generator are properly
documented.

Issue: #19715
2020-11-12 09:45:10 +05:00
Kyle Edwards
18372afcd4 Help: Fix documentation for Ninja Multi-Config's build.ninja 2020-10-09 13:50:36 -04:00
Brad King
8d5f4c4db9 Xcode: Switch to the "new build system" for Xcode 12 and above
Provide an option to switch back to the original build system via
`-T buildsystem=1`.

Fixes: #18088
2020-09-18 13:02:14 -04:00
Brad King
2db623f554 Xcode: Add option to specify build system variant
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.
2020-09-18 12:49:17 -04:00
jonathan molinatto
ba497111f6 VS: Add option for custom Win10 SDK version maximum
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
2020-08-25 15:27:38 -04:00
Kitware Robot
496ec6036f Help: Add Sphinx 'versionadded' directives to each top-level document
Run the `Utilities/Sphinx/update_versions.py` script to add initial
markup to every top-level document and find module.

Issue: #19715
2020-07-06 10:23:20 -04:00
Brad King
fa31c195b8 Ninja: Document that Fortran support is available with Ninja 1.10+
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.
2020-04-17 10:58:53 -04:00
Kyle Edwards
c8fd26eb57 Help: Move Ninja Multi-Config variable details into their respective pages 2020-03-26 15:33:48 -04:00
Kyle Edwards
c794b70f19 Ninja Multi-Config: Always generate build.ninja
If CMAKE_DEFAULT_BUILD_TYPE is not specified, use the first item
from CMAKE_CONFIGURATION_TYPES instead.
2020-02-27 10:39:35 -05:00
Kyle Edwards
7a63dafafb Ninja Multi-Config: Remove "NMC" from variable names
Also rename `..._DEFAULT_BUILD_FILE_CONFIG` to `..._DEFAULT_BUILD_TYPE`.
These name changes make the variables meaningful for future use by other
generators.
2020-02-27 09:22:08 -05:00
Kyle Edwards
bd4ae2af0f Help: Make note of ninja -f argument in Ninja Multi-Config docs 2020-02-04 14:22:49 -05:00
Kyle Edwards
79e5b3c46a Help: Explain new behavior of cmake --build in Ninja Multi-Config 2020-02-04 14:22:49 -05:00
Kyle Edwards
b966f86d86 Ninja Multi-Config: Shuffle variables around
Remove redundant variable CMAKE_NINJA_MULTI_CROSS_CONFIG_ENABLE.
Rename other variables. Document and improve handling of error
conditions.
2020-02-03 13:27:51 -05:00
Kyle Edwards
b7a2baf38c Ninja Multi-Config: Add variable to control configs used in cross-config build 2020-01-23 15:47:12 -05:00
Kyle Edwards
8337ed0d73 Ninja Multi-Config: Add variable to control aliases in build.ninja 2020-01-22 10:26:21 -05:00
Kyle Edwards
310b58e961 Ninja Multi-Config: Rename variable to be more consistent
Also make some tweaks to the documentation.
2020-01-16 10:34:43 -05:00
Kyle Edwards
e8032e202e Ninja Multi-Config: Make cross-config building opt-in
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.
2020-01-10 16:31:29 -05:00
Kyle Edwards
8c062f9d99 Help: Add documentation and release notes for multi-config Ninja 2019-12-13 10:52:07 -05:00