59665 Commits

Author SHA1 Message Date
Brad King
5709a7e572 CMake 3.25.3 v3.25.3 2023-03-08 10:01:06 -05:00
Brad King
9ee3e2cc7e Merge branch 'release-3.24' into release-3.25 2023-03-08 09:50:32 -05:00
Brad King
451d1c8b6c CMake 3.24.4 v3.24.4 2023-03-08 09:15:32 -05:00
Brad King
84adf3e57f Merge branch 'release-3.24' into release-3.25 2023-03-08 07:45:25 -05:00
Brad King
24f356cd5e Merge branch 'backport-3.24-file-install-macos' into release-3.25
Merge-request: !8293
2023-03-08 07:45:15 -05:00
Brad King
a6373caaec Merge branch 'backport-3.24-file-install-macos' into release-3.24
Merge-request: !8293
2023-03-08 07:44:36 -05:00
Brad King
a5d6548587 file(INSTALL): Fix file ownership regression when running as root on macOS
Backport KWSys commit `51272e80e` (SystemTools: Avoid macOS copyfile
semantic differences as root, 2023-03-07).

Fixes: #24577
2023-03-07 11:36:25 -05:00
Brad King
b8916bca0c Merge branch 'release-3.24' into release-3.25 2023-03-03 12:59:00 -05:00
Brad King
ab7085db35 Merge branch 'release-3.23' into release-3.24 2023-03-03 12:58:40 -05:00
Brad King
df18138b5b Merge branch 'GoogleTest-type-param-suite' into release-3.25
Merge-request: !8282
2023-03-03 12:58:30 -05:00
Brad King
c5f0dde57c Merge branch 'GoogleTest-type-param-suite' into release-3.24
Merge-request: !8282
2023-03-03 12:58:20 -05:00
Brad King
3abd37f05d Merge branch 'GoogleTest-type-param-suite' into release-3.23
Merge-request: !8282
2023-03-03 12:57:59 -05:00
Brad King
9aa9032266 GoogleTest: Restore suite name for type-parametrized tests
Fix a regression from commit 073dd1bd81 (GoogleTest: Change format for
typed tests, 2022-02-07, v3.23.0-rc1~4^2) in the suite name detection.

Co-authored-by: Evgeniy Shcherbina <ixsci@pm.me>
Fixes: #24563
2023-03-03 10:38:02 -05:00
Brad King
3540e2ade6 Merge branch 'ExternalProject-revert-install' into release-3.25
Merge-request: !8279
2023-03-03 09:21:38 -05:00
Brad King
771387523a ExternalProject: Restore driving install through build system
Revert commit 66b5d51f38 (ExternalProject: Install CMake projects
using 'cmake --install', 2022-09-08, v3.25.0-rc1~150^2).
It changed the ExternalProject install step command from:

    cmake --build <dir> --target install --config <cfg>

to:

    cmake --install <dir> --config <cfg>

The latter command no longer runs the external project build system
during the install step.  We could consider using the commands:

    cmake --build <dir> --target all --config <cfg>
    cmake --install <dir> --config <cfg>

as the install step, but if `CMAKE_SKIP_INSTALL_ALL_DEPENDENCY` is
used in the external project, that can change semantics too.

Revert the original change pending further investigation on other ways
to support its motivating use case.  Add a test covering the
previously-regressed use case.

Fixes: #24567
Issue: #23946
2023-03-02 14:28:26 -05:00
Brad King
e2f1d6e7bd Merge topic 'backport-3.25-curl-noproxy-fix' into release-3.25
ccdc358f49 curl: Backport upstream curl fixes for no_proxy to CMake 3.25 release

Merge-request: !8223
2023-02-17 13:58:45 -05:00
Brad King
ccdc358f49 curl: Backport upstream curl fixes for no_proxy to CMake 3.25 release
CMake 3.25 updated to curl 7.86, which had some `no_proxy` regressions.
Backport upstream curl fixes:

* commit `b830f9ba9` (noproxy: fix tail-matching)
* commit `b1953c193` (noproxy: tailmatch like in 7.85.0 and earlier)
* commit `60453483b` (noproxy: guard against empty hostnames)

CMake 3.26 already updated to curl 7.87, and has the fixes.

Fixes: #24426
2023-02-17 13:51:03 -05:00
Brad King
29dc3e7722 Merge branch 'android-ndk-legacy-toolchain' into release-3.25
Merge-request: !8170
2023-02-06 17:27:48 -05:00
Brad King
cb0b9452e8 Android: Provide CMAKE_ANDROID_NDK_VERSION with NDK legacy toolchain file
This variable has been provided since commit 746906242d (Android: Detect
NDK version number, 2021-02-26, v3.20.0-rc3~1^2~3) when using CMake's
NDK support or the modern NDK toolchain file.  Since commit 005e2cdfb0
(Android: Do not use gold for ndk >= r22, 2021-02-26, v3.20.0-rc3~1^2)
we need the value in our compiler/platform information files, so provide
it when using the NDK legacy toolchain file too.

Revert commit 1c86e397fe (Android/Clang: Tolerate undefined
CMAKE_ANDROID_NDK_VERSION, 2022-09-16, v3.25.0-rc1~118^2) since the
variable should now always be defined.

Issue: #21772
Fixes: #24386
2023-02-06 17:17:25 -05:00
Brad King
4db877ce9a Merge topic 'FindPython-CMP0007-NEW' into release-3.25
486b3c0850 FindPython: Policy CMP0007 must be set to NEW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8104
2023-01-24 09:19:14 -05:00
Brad King
3563d461dd Merge topic 'cxxmodules-ninja-1.11' into release-3.25
0512428ad9 Ninja: require Ninja 1.11 for C++ module support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8099
2023-01-24 09:18:19 -05:00
Ben Boeckel
0512428ad9 Ninja: require Ninja 1.11 for C++ module support
See: https://gitlab.kitware.com/cmake/cmake/-/issues/18355#note_1296721
See: https://github.com/ninja-build/ninja/pull/1937
2023-01-23 10:54:53 -05:00
Brad King
b179982001 Merge topic 'FindOpenSP-pkg-config-hints' into release-3.25
3b1c19f00a FindOpenSP: Use pkg-config only as hints for main code path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8097
2023-01-23 10:35:50 -05:00
Marc Chevrier
486b3c0850 FindPython: Policy CMP0007 must be set to NEW
Fixes: #24306
2023-01-21 15:08:21 +01:00
Kefu Chai
3b1c19f00a FindOpenSP: Use pkg-config only as hints for main code path
before this change, pkg_check_modules(.. IMPORTED_TARGET GLOBAL)
is used for creating an imported target from which another imported
interface library named OpenSP::OpenSP is created. but pkg-config
does not account for all of CMake's other search behavior controls,
such as CMAKE_FIND_ROOT_PATH. neither does it export the full path
with OpenSP_LIBRARY.

after this change, the paths found by pkg-config are only used
as hints for the find_*() commands. and some cleanup are included:

* be QUIET when calling find_package(PkgConfig ..) and
  pkg_check_modules(..) as they are distracting from user's point of
  view. what matters is the output of find_package_handle_standard_args()
* parse the version and check for the existance of symbol as long as
  header path is found. because they only use header files.
* define OpenSP_LIBRARY as long as it exists. this just follows
  the convention. as OpenSP_FOUND implies a valid OpenSP_LIBRARY.
* wrap and intent multi-line command calls for better readability
* check OpenSP_FOUND before adding OpenSP::OpenSP, it's more
  idiomatic.

Fixes: #24313
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2023-01-20 10:14:39 -05:00
Brad King
e2be23a2b3 CMake 3.25.2 v3.25.2 2023-01-19 09:32:19 -05:00
Brad King
8d1705dbd2 Merge branch 'backport-FindCUDAToolkit-cuda-12-nvToolsExt' into release-3.25
Merge-request: !8076
2023-01-17 09:59:31 -05:00
Brad King
74da1d1a8f Merge branch 'release-3.24' into release-3.25 2023-01-17 09:16:54 -05:00
Brad King
4465e1ea31 Merge topic 'doc-header-only' into release-3.25
93696d0f2e Help: Restore cmake-buildsystem(7) header-only library example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8071
2023-01-17 09:16:08 -05:00
Robert Maynard
eb4de10075 FindCUDAToolkit: Handle CUDA::nvToolsExt not existing
Fixes #24275
2023-01-16 09:43:43 -05:00
Brad King
c0a8ffb008 Merge branch 'doc-header-only' into release-3.24
Merge-request: !8071
2023-01-13 10:45:15 -05:00
Brad King
93696d0f2e Help: Restore cmake-buildsystem(7) header-only library example
Since commit 4391913133 (Add INTERFACE libraries to generated
buildsystem if they have SOURCES, 2020-07-20, v3.19.0-rc1~346^2~1) the
"Eigen" example in the `cmake-buildsystem(7)` manual is supposed to show
a header-only library in which the headers are attached as sources to be
edited in IDEs.  This was accidentally broken by commit 4b25a0d512
(Help/manual: Update header-only library example, 2022-04-22,
v3.24.0-rc1~220^2) when updating the example to use a `FILE_SET`.

Fixes: #24319
2023-01-13 10:42:56 -05:00
Brad King
e35255f2a5 Merge topic 'try_run-cross-compile' into release-3.25
2f85ec0a37 try_run: Avoid crash in keyword-dispatched signature when cross-compiling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8066
2023-01-13 08:47:19 -05:00
Brad King
2d9e66a23b Merge topic 'implicit-includes' into release-3.25
607bccb4ef Restore implicit include directory extraction for adaptive relative paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8067
2023-01-13 08:45:37 -05:00
Brad King
45da44cc23 Merge topic 'IntelLLVM-msvc-no-cxx11' into release-3.25
88f9fdcb03 IntelLLVM: Avoid unnecessary -Qstd=c++11 flag on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8069
2023-01-13 08:43:29 -05:00
Brad King
97b4a0f5e3 Merge branch 'release-3.24' into release-3.25 2023-01-13 08:41:23 -05:00
Brad King
5cb5d3f17b Merge topic 'IntelLLVM-no-icpx-on-Windows' into release-3.25
870d89627f Help: Clarify compiler id distinction between Intel Classic and IntelLLVM
ea4cfb3b53 Merge branch 'backport-IntelLLVM-no-icpx-on-Windows'
8834e4d6a5 IntelLLVM: Avoid finding not-yet-supported icpx on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8041
2023-01-13 08:39:40 -05:00
Brad King
88f9fdcb03 IntelLLVM: Avoid unnecessary -Qstd=c++11 flag on Windows
The IntelLLVM compiler, for compatibility with MSVC on Windows, always
runs with support for at least C++14.  The `-Qstd=c++11` flag just
causes a warning that it is unused.

Fixes: #24316
2023-01-12 15:58:14 -05:00
Brad King
607bccb4ef Restore implicit include directory extraction for adaptive relative paths
Update the logic added by commit ef41d49812 (Fix implicit include
directory extraction for adaptive relative paths, 2019-04-08,
v3.14.2~5^2) to account for the new `try_compile` work directory used
for the ABI check since commit 2edf0fc6d7 (Modules: Use new
keyword-dispatched try_compile signature, 2022-09-13,
v3.25.0-rc1~144^2).

Paths relative to the work directory will now have one more `../`
in them, so update the test data to match.

Fixes: #24279
2023-01-12 12:05:42 -05:00
Brad King
2f85ec0a37 try_run: Avoid crash in keyword-dispatched signature when cross-compiling
Since commit aa9220d3a0 (try_compile: Add keyword-dispatched signature,
2022-09-02, v3.25.0-rc1~178^2) the `DoNotRunExecutable` code path may be
reached with no single source-file argument.  Do not assume it exists.

Fixes: #24295
2023-01-12 11:04:16 -05:00
Brad King
e15253a94b Merge branch 'release-3.23' into release-3.24 2023-01-12 10:33:55 -05:00
Brad King
76ab7cb79f Merge branch 'backport-IntelLLVM-no-icpx-on-Windows' into release-3.24
Merge-request: !8041
2023-01-12 10:33:50 -05:00
Brad King
878e8d2f4a Merge branch 'backport-IntelLLVM-no-icpx-on-Windows' into release-3.23
Merge-request: !8041
2023-01-12 10:33:30 -05:00
Michael Hirsch
870d89627f Help: Clarify compiler id distinction between Intel Classic and IntelLLVM 2023-01-12 10:24:15 -05:00
Brad King
ea4cfb3b53 Merge branch 'backport-IntelLLVM-no-icpx-on-Windows' 2023-01-12 10:24:06 -05:00
Michael Hirsch
8834e4d6a5 IntelLLVM: Avoid finding not-yet-supported icpx on Windows
Intel oneAPI 2023.0 added the `icpx` compiler front-end on Windows.
It uses a GNU-like command-line, and is not yet supported by CMake.
Avoid finding `icpx` as the CXX compiler on Windows until support
is added.

Fixes: #24266
Issue: #24314
2023-01-12 10:23:38 -05:00
Brad King
6b92224f6c Merge topic 'FindBoost-1.81' into release-3.25
a97032c4e7 FindBoost: Add Boost 1.81 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Christoph Grüninger <foss@grueninger.de>
Merge-request: !8056
2023-01-12 09:20:05 -05:00
Brad King
592939ef74 Merge branch 'release-3.24' into release-3.25 2023-01-12 09:18:36 -05:00
Brad King
8e87e016ce Merge topic 'fix-cmzlib-crc32-fn-mangling' into release-3.25
7d92e363a2 zlib: Fix typo in mangling the crc32() function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8049
2023-01-12 09:17:52 -05:00
Brad King
05dffe6e84 Merge branch 'fix-cmzlib-crc32-fn-mangling' into release-3.24
Merge-request: !8049
2023-01-12 09:15:59 -05:00