Commit Graph

53850 Commits

Author SHA1 Message Date
Brad King
15f405cdf1 Merge topic 'ci-ctest-update' into release-3.21
3b581ab3aa ci: Enable CTest.Update{CVS,SVN,HG} tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6596
2021-10-06 10:22:21 -04:00
Brad King
3b581ab3aa ci: Enable CTest.Update{CVS,SVN,HG} tests
Enable all three in Debian builds.  Leave out CVS in Fedora builds
because the cvs package was not built with `--enable-rootcommit`.
2021-10-05 11:06:42 -04:00
Brad King
7518fc0c31 Merge topic 'testdriver-old-cast-warning' into release-3.21
ba54092842 TestDriver: Fix old-style-cast warning in C++ mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6590
2021-10-05 09:01:59 -04:00
Sylvain Joubert
ba54092842 TestDriver: Fix old-style-cast warning in C++ mode
A C-style cast was added by commit 3f6ff4b5db (create_test_sourcelist:
add test driver option to run all tests, 2021-04-27, v3.21.0-rc1~257^2).
Use our `CM_CAST` macro to adapt based on the language.
2021-10-04 11:00:12 -04:00
Brad King
d1a7e78c4f Merge topic 'FortranCInterface-timestamp-check' into release-3.21
2a00e5072d FortranCInterface: Fix regression in timestamp check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !6581
2021-10-04 10:36:51 -04:00
Seth R Johnson
2a00e5072d FortranCInterface: Fix regression in timestamp check
Since commit d7c8030541 (FortranCInterface: Fix misuse of IS_NEWER_THAN
in timestamp check, 2021-02-21, v3.21.0-rc1~631^2~3), FortranCInterface
checks for `Output.cmake.in` in the build tree instead of the source
tree as before.  This caused it to always re-run the detection.

Fixes: #22709
2021-10-01 13:00:18 -04:00
Brad King
12b999e66a Merge topic 'autogen-dep-on-imported-implib-only-target' into release-3.21
895fa3433f cmQtAutoGenInitializer: support IMPLIB-only imported targets
354c1f5628 Tests/RunCMake/Autogen: test CMP0111 behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6558
2021-09-27 13:48:56 -04:00
Ben Boeckel
895fa3433f cmQtAutoGenInitializer: support IMPLIB-only imported targets
Instead of using the target name directly (which ends up in the `Ninja`
generators querying for the `LOCATION` parameter), wrap up the target
name in a `$<TARGET_LINKER_FILE:>` to avoid the query for the unset
property.
2021-09-24 11:29:54 -04:00
Ben Boeckel
354c1f5628 Tests/RunCMake/Autogen: test CMP0111 behavior
On Windows, imported shared libraries which only have an
`IMPORTED_IMPLIB` set fail if they are depended upon by a target using
automoc. Add a test for the behavior of depending upon all imported
target types from an automoc-using target.
2021-09-24 11:29:54 -04:00
Brad King
afd4d25280 Merge topic 'FindMatlab-r2021b' into release-3.21
a013404f43 FindMatlab: Add R2021b => 9.11 version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6556
2021-09-24 09:14:19 -04:00
Michael Hirsch
a013404f43 FindMatlab: Add R2021b => 9.11 version
R2021b released 09/22/2021.
2021-09-23 10:41:20 -04:00
Brad King
7612abd52f CMake 3.21.3 v3.21.3 2021-09-20 12:43:52 -04:00
Brad King
bc0d6e61fd Merge topic 'hip-no-hipcc' into release-3.21
cb93f72624 HIP: Simplify detection of HIP runtime CMake package
a71f0fc9c7 HIP: Remove ROMClang compiler id and use Clang directly
b125e9809a HIP: Detect ROCm path earlier
735f41fc2d HIP: Use 'rocm_agent_enumerator' to determine CMAKE_HIP_ARCHITECTURES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Merge-request: !6533
2021-09-20 12:38:43 -04:00
Brad King
e2b63802c6 Merge branch 'release-3.20' into release-3.21 2021-09-20 12:23:07 -04:00
Brad King
0d3bfda22a CMake 3.20.6 v3.20.6 2021-09-20 11:28:01 -04:00
Brad King
1a1e8aaceb Merge branch 'release-3.20' into release-3.21 2021-09-17 09:35:04 -04:00
Brad King
1127b591ec Merge topic 'android-PATH' into release-3.21
94f3776774 Android: Restore searching PATH for executables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6528
2021-09-17 09:33:44 -04:00
Brad King
58ac1eaa70 Merge topic 'iar-enable-in-list-operator' into release-3.21
f77ffbc0e3 IAR: Restore support for projects not enabling policy CMP0057

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6527
2021-09-17 09:32:49 -04:00
Brad King
cb93f72624 HIP: Simplify detection of HIP runtime CMake package
It only makes sense to use the CMake package from the same ROCm
installation that the compiler uses.  Ask the HIP compiler to report the
location of the ROCm installation.  Verify up front that it contains the
expected CMake package file.
2021-09-16 15:33:53 -04:00
Brad King
a71f0fc9c7 HIP: Remove ROMClang compiler id and use Clang directly
Since commit bd844387df (ROCMClang: Add the ROCm toolkit derived clang
compiler to CMake, 2020-08-28, v3.21.0-rc1~66^2~6) and commit ff0d2858e1
(HIP: Extract clang compiler details from hipcc, 2020-10-21,
v3.21.0-rc1~66^2~5), the separate `ROCMClang` compiler id for `hipcc`
has caused a few problems:

* The compiler id changed from behavior of CMake 3.20 and below,
  breaking projects that already built with `hipcc` treated as `Clang`.

* The implementation of `target_compile_features` was incomplete for
  the `ROCMClang` identity.

* Only `hipcc` was identified as `ROCMClang`, so after it is unwrapped
  to the underlying `clang++`, future runs of new CMake versions on
  an existing build tree would not repeat this.

* Clang should be usable as a HIP compiler without the `hipcc` wrapper.

Remove the `ROMClang` compiler identity, and revise HIP language support
to work directly with a Clang compiler.

Reject direct `hipcc` usage as a HIP compiler.  For now it cannot be
supported because it interferes with flags CMake needs to pass to Clang.

Fixes: #22536, #22460, #22593
2021-09-16 15:33:47 -04:00
Brad King
b125e9809a HIP: Detect ROCm path earlier
Fail early if it is not found.

Use the detected location as a hint to find `rocm_agent_enumerator`.

Also remove the leading `_` prefix in case we want to document this
publicly later.
2021-09-16 14:45:07 -04:00
Zack Galbreath
735f41fc2d HIP: Use 'rocm_agent_enumerator' to determine CMAKE_HIP_ARCHITECTURES 2021-09-16 14:41:30 -04:00
Brad King
c9c6e8d6e8 Merge branch 'android-PATH' into release-3.20
Merge-request: !6528
2021-09-16 09:03:07 -04:00
hhb
94f3776774 Android: Restore searching PATH for executables
Since commit a7f41a7ee4 (Android: Fix find_* search order within NDK for
unified toolchains, 2020-10-13, v3.20.0-rc1~610^2), we turn off
`CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH`.  This breaks `find_program`
searching `PATH` for host executables.  Fortunately, the setting turns
out not to be necessary, perhaps since commit cbc51a8be3 (Android:
restructure android search paths, 2020-11-06, v3.20.0-rc1~509^2).
Without it, none of NDK tests fail, so remove it to restore pre-3.20
behavior.

Fixes: #22634
2021-09-16 08:45:33 -04:00
Jean-Marc Hengen
f77ffbc0e3 IAR: Restore support for projects not enabling policy CMP0057
Since commit 5b9bfe738c (IAR: Moved search logic to BinUtils.,
2021-07-19, v3.21.1~14^2), we use the `IN_LIST` operator in the
`CMakeFindBinUtils` module.  Set policy `CMP0057` to ensure it is
available regardless of the project's policy settings.

Fixes: #22640
2021-09-16 08:30:51 -04:00
Brad King
64aac043ee Merge topic 'vs2022' into release-3.21
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:53 -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
f200f4d5a7 VS: Fix managed C++ project generation for VS 2022
VS 2022 expects managed `.vcxproj` files to have a `ManagedAssembly`
element.

Fixes: #22583
2021-09-15 13:19:37 -04:00
Brad King
d2a5fef985 Merge topic 'update-kwsys' into release-3.21
115152ce10 KWSys: SystemTools: Ensure Windows Vista APIs are available before using them

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6500
2021-09-09 13:19:53 -04:00
Brad King
0e097776fa Merge topic 'ci-msvc-19.29-16.11' into release-3.21
09c7c0a9c3 gitlab-ci: Update Windows builds to MSVC 19.29-16.11 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6501
2021-09-09 13:17:31 -04:00
Marc Chevrier
45e4ba11cd Merge topic 'FindPyhton-homebew-on-Mac-M1' into release-3.21
2636ad5045 FindPython: Ensure homebrew on Mac M1 is used

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6499
2021-09-07 05:18:54 -04:00
Brad King
31a5b256b9 Merge topic 'vs2022' into release-3.21
38c8f2c4e3 IRSL: Add discovery of VS 2022 v143 toolset redistributables
f01ea7e391 MSVC: Fix MSVC_TOOLSET_VERSION for VS 2022 v143 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6497
2021-09-03 10:18:49 -04:00
Brad King
db053dfd23 Merge topic 'FindBoost-1.77' into release-3.21
1ad0c5ae53 FindBoost: Add support for Boost 1.77

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6494
2021-09-03 10:17:34 -04:00
Brad King
351b5ddbf3 Merge topic 'ninja-armclang-windows' into release-3.21
b6cf93472f Ninja: fix ARMClang paths for Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6484
2021-09-03 10:16:25 -04:00
ulatekh
115152ce10 KWSys: SystemTools: Ensure Windows Vista APIs are available before using them
Backport KWSys commit `4ef5b1063` (SystemTools: Ensure Windows Vista
APIs are available before using them, 2021-08-30) to the CMake 3.21
release branch.
2021-09-03 10:04:38 -04:00
Marc Chevrier
2636ad5045 FindPython: Ensure homebrew on Mac M1 is used
Fixes: #22581
2021-09-03 14:59:52 +02:00
Brad King
09c7c0a9c3 gitlab-ci: Update Windows builds to MSVC 19.29-16.11 toolset 2021-09-02 14:24:25 -04:00
Brad King
38c8f2c4e3 IRSL: Add discovery of VS 2022 v143 toolset redistributables
Fixes: #22586
2021-09-02 13:47:46 -04:00
Brad King
f01ea7e391 MSVC: Fix MSVC_TOOLSET_VERSION for VS 2022 v143 toolset
This was forgotten in commit 0c7f918fb1 (VS: Update Visual Studio 17
2022 generator for Preview 2, 2021-07-14, v3.21.1~29^2) when the toolset
was first renumbered to `v143`.

Fixes: #22585
2021-09-02 13:47:42 -04:00
Brad King
1ad0c5ae53 FindBoost: Add support for Boost 1.77
Update the list of known versions.

Run the command

    cmake -DBOOST_DIR=/path/to/boost_1_77_0 \
      -P Utilities/Scripts/BoostScanDeps.cmake

to extract dependencies from the 1.77.0 source tree.  The dependencies
differ from those of 1.76: the `contract`, `thread`, and `wave`
components no longer depend on `date_time`.  The `math` component no
longer depends on `atomic`.

Fixes: #22588
2021-09-02 12:43:43 -04:00
Martin Kojtal
b6cf93472f Ninja: fix ARMClang paths for Windows
We need to escape paths for ARMClang on Windows, see the referenced
issue for more details.

Fixes: #21093
2021-09-02 11:40:17 -04:00
Brad King
31c5700d43 CMake 3.21.2 v3.21.2 2021-08-25 10:17:05 -04:00
Brad King
af71bdb601 Merge topic 'vs2022' into release-3.21
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:46 -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
e4302d8c8d Merge branch 'release-3.20' into release-3.21 2021-08-25 09:14:15 -04:00
Brad King
eae5533ab3 Merge topic 'GNUInstallDirs-variable-named-0' into release-3.21
49a5dbcaff GNUInstallDirs: avoid unwanted variable dereference

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6474
2021-08-25 09:12:22 -04:00
Brad King
fd64b84d15 Merge branch 'GNUInstallDirs-variable-named-0' into release-3.20
Merge-request: !6474
2021-08-24 10:02:58 -04:00
Brad King
5a4847a0a4 Merge topic 'vs-toolset-version' into release-3.21
25c5ebba7e VS: Add special case for '-T version=14.29.16.11' under VS 16.11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6469
2021-08-24 09:58:08 -04:00
Brad King
b2e2f5c196 Merge topic 'revert-autouic-header-depends' into release-3.21
d2a6e160aa AUTOUIC: Revert "Fix generating of dependency rules for UI header files"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6465
2021-08-24 09:57:08 -04:00
Brad King
1dd9c96427 Merge topic 'FindMPI-framework-not-a-compile-flag' into release-3.21
2b2a6a7170 FindMPI: do not detect `-framework` as a compile flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Utkarsh Ayachit <utkarsh.ayachit@kitware.com>
Merge-request: !6467
2021-08-24 09:54:57 -04:00