CMake merge requestshttps://gitlab.kitware.com/cmake/cmake/-/merge_requests2021-05-03T10:53:54-04:00https://gitlab.kitware.com/cmake/cmake/-/merge_requests/6067Ninja Multi-Config: Split long command lines by config2021-05-03T10:53:54-04:00Kyle EdwardsNinja Multi-Config: Split long command lines by configFixes: #22123
Backport: releaseFixes: #22123
Backport: release3.20.3Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6083Help: Use relative path for IDE Integration guide link to preset schema2021-05-04T11:56:50-04:00Brad KingHelp: Use relative path for IDE Integration guide link to preset schemaThis allows the integration guide to build as part of a larger set of documentation.
Backport: releaseThis allows the integration guide to build as part of a larger set of documentation.
Backport: release3.20.3Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6085BinUtils: Use more-private temporary variable names2021-05-05T10:06:15-04:00Brad KingBinUtils: Use more-private temporary variable namesSince !5986 we use variables named `_tool` and `_name`, but these may still be common enough to affect project code. Use `_CMAKE_TOOL` and `_CMAKE_TOOL_NAME` instead, and unset them when finished.
Fixes: #22140
Backport: releaseSince !5986 we use variables named `_tool` and `_name`, but these may still be common enough to affect project code. Use `_CMAKE_TOOL` and `_CMAKE_TOOL_NAME` instead, and unset them when finished.
Fixes: #22140
Backport: release3.20.3Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6090ObjectiveC: Respect OSX_ARCHITECTURES for OBJC2021-05-06T10:10:24-04:00Brad KingObjectiveC: Respect OSX_ARCHITECTURES for OBJCFix a typo from !5152.
Fixes: #22152
Backport: releaseFix a typo from !5152.
Fixes: #22152
Backport: release3.20.3Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6094CUDA: improve regex for CUDA Toolkit root from nvcc verbose output2021-05-07T09:12:13-04:00Robert MaynardCUDA: improve regex for CUDA Toolkit root from nvcc verbose outputThe original regular expression was greedy and would match any environment variable ending with TOP (like DESKTOP). This is an issue on windows where `nvcc -v` would
output all environment variables before the compilers verbose output.
...The original regular expression was greedy and would match any environment variable ending with TOP (like DESKTOP). This is an issue on windows where `nvcc -v` would
output all environment variables before the compilers verbose output.
To resolve this issue we use a tighter match algorithm that looks
for `#$ TOP=` instead of `TOP=`.
Fixes: #22158
Backport: release3.20.3Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6100FindBoost: Add support for Boost 1.762021-09-02T12:51:12-04:00Brad KingFindBoost: Add support for Boost 1.76Update the list of known versions.
Run the command
cmake -DBOOST_DIR=/path/to/boost_1_76_0 \
-P Utilities/Scripts/BoostScanDeps.cmake
to extract dependencies from the 1.76.0 source tree.
They are the same as 1.75's dependenc...Update the list of known versions.
Run the command
cmake -DBOOST_DIR=/path/to/boost_1_76_0 \
-P Utilities/Scripts/BoostScanDeps.cmake
to extract dependencies from the 1.76.0 source tree.
They are the same as 1.75's dependencies, so just update
the version check for warning about newer versions.
Fixes: #22167
Backport: release3.20.3Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6108GNU: C++23 support, final C++20 flags, C++17 default2021-05-11T09:19:18-04:00Raul Tambreraul@tambre.eeGNU: C++23 support, final C++20 flags, C++17 defaultChanged in GCC commit 0801f419440c14f6772b28f763ad7d40f7f7a580, released in 11.1.
Fixes: #22139
Backport: releaseChanged in GCC commit 0801f419440c14f6772b28f763ad7d40f7f7a580, released in 11.1.
Fixes: #22139
Backport: release3.20.3Raul Tambreraul@tambre.eeRaul Tambreraul@tambre.eehttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6109ExternalProject: Ensure git fetch if updating to hash we don't have yet2021-06-11T04:34:32-04:00Craig ScottExternalProject: Ensure git fetch if updating to hash we don't have yetIn ac6a4d4884 (ExternalProject: Improve robustness of update step, 2020-10-17) from !5389, the method used to check whether we already have a commit or not was changed from using git rev-list to git rev-parse. The new logic assumed rev-p...In ac6a4d4884 (ExternalProject: Improve robustness of update step, 2020-10-17) from !5389, the method used to check whether we already have a commit or not was changed from using git rev-list to git rev-parse. The new logic assumed rev-parse would output nothing if given a commit hash it didn't know about, but it simply prints the hash again without raising an error in this scenario. Amend that logic by adding `^{commit}` to the ref to ensure we do get an error if that ref is not currently known.
Fixes: #22166
Backport: release3.20.3Craig ScottCraig Scotthttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6119cmake: `--build` and `--install` error out when encountering bad flags2021-05-14T08:33:33-04:00Robert Maynardcmake: `--build` and `--install` error out when encountering bad flagsFixes: #22186
Backport: releaseFixes: #22186
Backport: release3.20.3Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6120Ninja: Restore support for Fortran in a symlinked build tree2021-05-13T08:11:35-04:00Brad KingNinja: Restore support for Fortran in a symlinked build treeSince !5485, Fortran stopped
working in a build tree whose path contains a symlink. The reason is
that the P1689r3 format's `work-directory` field gets populated with the
realpath (via `getcwd`) of the build tree instead of the logical ...Since !5485, Fortran stopped
working in a build tree whose path contains a symlink. The reason is
that the P1689r3 format's `work-directory` field gets populated with the
realpath (via `getcwd`) of the build tree instead of the logical path to
the build tree used for generating relative paths in `build.ninja`.
This causes the `Fortran.dd` file to get absolute (real)paths to `.o`
files, and Ninja does not match them with the relative `.o` file paths
in `build.ninja`.
Fix this by dropping use of the `work-directory` field. This restores
our prior approach of generating paths in the dyndep file using the same
forms of paths received from the buildsystem generator. The P1689r3
paper's format may need to be revised to account for this.
Fixes: #21683
Backport: release3.20.3Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6126Utilities/Sphinx: Update man page config for Sphinx 42021-05-14T10:55:20-04:00Brad KingUtilities/Sphinx: Update man page config for Sphinx 4Sphinx 4 by default generates `man/#/foo.#`, but older versions generate
`man/foo.#` as our install rules expect. Update our Sphinx config file
to tell Sphinx 4 to use the old layout.
Fixes: #22192
Backport: releaseSphinx 4 by default generates `man/#/foo.#`, but older versions generate
`man/foo.#` as our install rules expect. Update our Sphinx config file
to tell Sphinx 4 to use the old layout.
Fixes: #22192
Backport: release3.20.3Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6136NVHPC: Support Ninja dependency scan, and explicit language flags2021-05-19T07:54:49-04:00Robert MaynardNVHPC: Support Ninja dependency scan, and explicit language flagsFixes: #22168
Backport: release
Topic-rename: nvhpc-ninja-depfileFixes: #22168
Backport: release
Topic-rename: nvhpc-ninja-depfile3.20.3https://gitlab.kitware.com/cmake/cmake/-/merge_requests/6145ExternalProject: Only add git config setting with git 1.7.7 or later2021-05-21T10:37:02-04:00Craig ScottExternalProject: Only add git config setting with git 1.7.7 or later1cb65e680d (ExternalProject: Prevent the noisy detached head
messages on checkout, 2021-01-17) unconditionally added the advice.detachedHead
git config setting, but it requires git 1.7.7 or later. Since it isn't fatal to not
have it, jus...1cb65e680d (ExternalProject: Prevent the noisy detached head
messages on checkout, 2021-01-17) unconditionally added the advice.detachedHead
git config setting, but it requires git 1.7.7 or later. Since it isn't fatal to not
have it, just noisier, only add it when it is supported.
Fixes: #22206
Backport: release3.20.3Brad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/6158CMP0082: Check EXCLUDE_FROM_ALL property at generate time2021-05-25T10:00:40-04:00Kyle EdwardsCMP0082: Check EXCLUDE_FROM_ALL property at generate timeFixes: #22234
Backport: release:HEAD^1Fixes: #22234
Backport: release:HEAD^13.20.3Brad KingBrad King