Commit Graph

66505 Commits

Author SHA1 Message Date
Brad King 8eaaa0023e Merge topic 'cpack-nsis-reserved-component-names' into release-3.30
b1f956529a CPack/NSIS: Fix matching of reserved component names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9757
2024-08-20 11:17:57 -04:00
K. R. Walker b1f956529a CPack/NSIS: Fix matching of reserved component names
"Console" unexpectedly matches the reserved name regex.  This revealed
that `cmCPackNSISGenerator::CreateComponentDescription()` needs to use
the name returned by `GetSanitizedDirOrFileName()` for the component
file glob.

Fix the change from commit a1af593291 (CPack: Support arbitrary
component name when packaging, 2024-05-01, v3.30.0-rc1~151^2~1) to
address these issues and add related checks to the `CPackNSISGenerator`
test case.

Issue: #23612
2024-08-19 14:25:31 -04:00
Brad King 97bb92ace5 Merge topic 'FindJNI-zero-vm-location' into release-3.30
983291669d FindJNI: Support finding libjvm.so for all OpenJDK variants

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9725
2024-08-15 10:34:25 -04:00
Brad King 5f42d87aca Merge branch 'release-3.29' into release-3.30 2024-08-15 10:08:10 -04:00
Brad King 0cbb3a4e9c Merge topic 'cppdap-gcc-15' into release-3.30
f742c298a0 cppdap: include/dap/network.h: add <stdint.h> include for GCC 15

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9713
2024-08-15 10:07:51 -04:00
Brad King 464719b35b Merge topic 'cppdap-gcc-15' into release-3.29
f742c298a0 cppdap: include/dap/network.h: add <stdint.h> include for GCC 15

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9713
2024-08-15 10:02:17 -04:00
WANG Xuerui 983291669d FindJNI: Support finding libjvm.so for all OpenJDK variants
Formerly only the "client" and "server" variant directories are being
checked for libjvm.so, but according to a 2021 OpenJDK upstream change
present in OpenJDK >= 18, there can be "minimal" and "zero" variants as
well. In particular, formerly (OpenJDK <= 17) the Zero variant had its
libjvm.so in "server/", but "zero/" in newer versions, which regressed
downstream CMake project builds running on systems with OpenJDK Zero VM.

Fix it by checking all 4 variant directories for libjvm.so.

Link: https://bugs.openjdk.org/browse/JDK-8273494
Link: https://github.com/openjdk/jdk/pull/5440
Link: https://github.com/openjdk/jdk/commit/8fbcc8239a3fc04e56ebbd287c7bb5db731977b7
Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1078446
2024-08-15 09:41:57 -04:00
Brad King 3265458a79 Merge topic 'macos-curl-user-agent' into release-3.30
1a74f95656 file(DOWNLOAD): Fix User-Agent to use run-time curl version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9726
2024-08-15 09:36:58 -04:00
Brad King 16b6847861 Merge topic 'curl-http2' into release-3.30
7486f468fb curl: Avoid using HTTP/2 with curl 8.7.x due to bug in error codes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9728
2024-08-15 09:35:35 -04:00
Christoph Grüninger f742c298a0 cppdap: include/dap/network.h: add <stdint.h> include for GCC 15
GCC 15 requires the include for the declaration of `uint32_t`.
Backport [cppdap PR 133](https://github.com/google/cppdap/pull/133).
2024-08-13 15:42:40 -04:00
Brad King 7486f468fb curl: Avoid using HTTP/2 with curl 8.7.x due to bug in error codes
curl 8.7.x has a bug in HTTP/2 error codes introduced by
commit `0dc036225` (HTTP/2: write response directly, 2024-01-31,
`curl-8_7_0~230`) and fixed by commit `5c59f9142` (http2 + ngtcp2:
pass CURLcode errors from callbacks, 2024-04-18, `curl-8_8_0~181`).

Fixes: #26200
2024-08-13 15:07:53 -04:00
Brad King 1a74f95656 file(DOWNLOAD): Fix User-Agent to use run-time curl version
If CMake is linked to a system-provided curl shared library, the version
at run-time may not match the `LIBCURL_VERSION` at build time.  Look up
the run-time curl version to populate the User-Agent string.

This is particularly important since commit d3cbee99e3 (macOS: Prefer
building with system-provided curl, 2024-05-09, v3.30.0-rc1~130^2~1)
switched to building our official binaries on macOS against the system
provided curl shared library.

Fixes: #26209
2024-08-13 14:14:10 -04:00
Brad King d88682dff6 CMake 3.30.2 v3.30.2 2024-08-02 09:57:10 -04:00
Brad King edc340230c Merge branch 'release-3.29' into release-3.30 2024-08-02 09:49:27 -04:00
Brad King 931dd7d3a5 Merge topic 'swift-install-names' into release-3.29
8669176576 Swift: Fix INSTALL_NAME_DIR under CMP0157 NEW behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9692
2024-08-02 09:48:49 -04:00
Brad King 35e908e0dc Merge topic 'swift-install-names' into release-3.30
8669176576 Swift: Fix INSTALL_NAME_DIR under CMP0157 NEW behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9692
2024-08-02 09:47:50 -04:00
Evan Wilde 8669176576 Swift: Fix INSTALL_NAME_DIR under CMP0157 NEW behavior
Setting `CMAKE_INSTALL_NAME_DIR` or the `INSTALL_NAME_DIR` on Swift
targets had no effect when CMP0157 was set to `NEW`.  This was a result
of missing the `<TARGET_INSTALLNAME_DIR>` before the `<TARGET_SONAME>`.
Fix that and add a test to verify that the install name directory is
included in the install name.

Fixes: #26175
2024-08-01 10:49:36 -04:00
Brad King 97d0963888 Merge topic 'test-xcode-command-line-tools' into release-3.30
369052b5d8 Tests: Restore suppression of xcodebuild error with Xcode Command-Line Tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9696
2024-08-01 09:58:08 -04:00
Brad King 369052b5d8 Tests: Restore suppression of xcodebuild error with Xcode Command-Line Tools
In commit 40fa2c1c90 (Tests: Cleanup CMake_TEST_XCODE_VERSION code,
2024-04-29, v3.30.0-rc1~183^2) we accidentally stopped capturing the
stderr from `xcodebuild`, causing it to appear in cmake's output.
The error is incidental and tolerated, so do not let the user see it.
2024-07-31 15:43:04 -04:00
Brad King bab6bc54a8 Merge branch 'release-3.29' into release-3.30 2024-07-29 11:30:23 -04:00
Brad King cdca6814a5 Merge topic 'backport-test-curl-output' into release-3.30
13fb20f4d3 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9690
2024-07-29 11:28:46 -04:00
Brad King 651fa9e6ce Merge branch 'release-3.28' into release-3.29 2024-07-29 11:13:13 -04:00
Brad King 5f38057728 Merge topic 'backport-test-curl-output' into release-3.29
13fb20f4d3 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9690
2024-07-29 11:12:33 -04:00
Brad King 5b435c3672 Merge topic 'backport-test-curl-output' into release-3.28
13fb20f4d3 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9690
2024-07-29 11:11:47 -04:00
Brad King 13fb20f4d3 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9 2024-07-29 11:07:05 -04:00
Brad King 21808be3bf Merge topic 'FindPython-WIN32-EXECUTABLE_DEBUG' into release-3.30
c25df125e1 FindPython: Fix usage of cached variable _Python_EXECUTABLE_DEBUG

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Hillel Sims <hsims1@bloomberg.net>
Merge-request: !9686
2024-07-29 11:01:34 -04:00
Brad King 9adccab675 Merge topic 'doc-add_test-typo' into release-3.30
ca39258a66 Help: Fix typo in add_test documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9687
2024-07-29 10:58:59 -04:00
Craig Scott 51b5d9f464 Merge topic 'fetchcontent-updates-disconnected' into release-3.30
5df592ce31 FetchContent: Ensure can_fetch_default is set early enough
c233c51cb9 ExternalProject: Fix bad indenting for uses_terminal

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Silver Zachara <silver.zachara@gmail.com>
Merge-request: !9685
2024-07-27 18:28:18 -04:00
Brad King ca39258a66 Help: Fix typo in add_test documentation 2024-07-26 10:37:35 -04:00
Marc Chevrier c25df125e1 FindPython: Fix usage of cached variable _Python_EXECUTABLE_DEBUG
Fixes: #26163
2024-07-26 14:36:20 +02:00
Craig Scott 5df592ce31 FetchContent: Ensure can_fetch_default is set early enough
The can_fetch_default variable needs to be set before the call to
_ep_write_gitupdate_script(). Move it to before that call and always
set the variable, even if arg_SCRIPT_FILE is not set. This makes the
generated git update script file easier to follow if someone tries to
follow what it is doing or wants to investigate problems and run it
manually.

Fixes: #26164
2024-07-26 11:23:58 +10:00
Craig Scott c233c51cb9 ExternalProject: Fix bad indenting for uses_terminal 2024-07-26 10:58:19 +10:00
Brad King aad3ee074b Merge topic 'ep-svn-user-pass' into release-3.30
e16f65be15 ExternalProject: Don't add SVN auth args if not set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9678
2024-07-23 09:53:27 -04:00
Brad King b55f5cba1d Merge topic 'bootstrap-no-pkg-config' into release-3.30
35eb28bc76 bootstrap: Restore support for system jsoncpp and uv without pkg-config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !9679
2024-07-23 09:52:08 -04:00
Brad King 20efbc07df Merge topic 'cpack-external-partial-json' into release-3.30
ab26d334bf cmCPackExternalGenerator: ensure JSON is written before running the script

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9669
2024-07-23 09:51:12 -04:00
ojab ojab 35eb28bc76 bootstrap: Restore support for system jsoncpp and uv without pkg-config
In commit da5de7f9f3 (bootstrap: Allow --boostrap-system-* libraries
custom prefixes, 2024-03-03, v3.30.0-rc1~456^2) the non-pkg-config code
path for uv/jsoncpp/rhash all set `use_librhash_ldflags` instead of
their own variable.
2024-07-22 10:33:50 -04:00
Brad King 089e946399 Merge topic 'macos-check-archs' into release-3.30
74beb6dba8 Xcode: Restore support for CMAKE_OSX_ARCHITECTURES=$(ARCHS_STANDARD)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Lorenz Bucher <lorenz.bucher@gmail.com>
Merge-request: !9675
2024-07-22 10:20:04 -04:00
Craig Scott e16f65be15 ExternalProject: Don't add SVN auth args if not set
In 462e583267 (ExternalProject: Switch download, update and patch to
use _EP_ vars, 2024-05-13), the svn_username and svn_password variables
were only updated appropriately in the svn download implementation, but
not in the svn update implementation. This was easily missed in part
because the old implementation was relying on behavior that differed
from the documentation for get_property(), and the new implementation
tried to keep the intermediate variables from the old implementation but
missed this subtle aspect.

Issue: #26152
Fixes: #26148
2024-07-20 11:58:33 +10:00
Brad King 39e8f67a2f Merge topic 'ci-cmake-update' into release-3.30
927300d4a0 ci: Update CMake version to 3.30.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9671
2024-07-19 10:05:49 -04:00
Brad King 74beb6dba8 Xcode: Restore support for CMAKE_OSX_ARCHITECTURES=$(ARCHS_STANDARD)
Skip the `CMAKE_OSX_ARCHITECTURES` validation added by commit db409e5e68
(APPLE: Check if compilers respect CMAKE_OSX_ARCHITECTURES, 2024-05-04,
v3.30.0-rc1~15^2) if the value contains a placeholder, since we do not
know the real value.

Fixes: #26128
2024-07-19 09:42:45 -04:00
Brad King 927300d4a0 ci: Update CMake version to 3.30.1 2024-07-18 09:59:36 -04:00
Brad King cd386f6425 CMake 3.30.1 v3.30.1 2024-07-18 09:13:21 -04:00
Brad King 07c1287c87 Merge topic 'vs-cuda' into release-3.30
a9210a0c02 VS: Restore support for CUDA with no optimization flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9666
2024-07-18 08:57:47 -04:00
Brad King d12c3e711d Merge topic 'macos-curl-backend' into release-3.30
f2596dfa0e macOS: Work around bug in system curl 8.{3,4,5} LibreSSL backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9663
2024-07-18 08:56:30 -04:00
Ben Boeckel ab26d334bf cmCPackExternalGenerator: ensure JSON is written before running the script
First, use `cmGeneratedFileStream` to avoid touching an existing file
unless its contents change and to get atomic replacement. Also add a
scope to ensure that the file is in place (at `fout`'s destructor)
before doing anything with the packaging scripts.

See: https://discourse.cmake.org/t/1773
2024-07-18 07:50:46 -04:00
Brad King a9210a0c02 VS: Restore support for CUDA with no optimization flags
Since commit 67de5b7b82 (VS: Suppress MSBuild default settings affected
by UseDebugLibraries, 2024-02-13, v3.30.0-rc1~538^2~1) we generate an
empty `Optimization` element for the host compiler when there are no C
or C++ optimization flags enabled.  The CUDA Toolkit Visual Studio
integration fails with an error if an empty string is inherited from the
host compiler's `Optimization` element.  If no CUDA optimization flags
are specified, write an explicit empty `Optimization` element for the
CUDA compiler too.

Fixes: #26144
2024-07-17 11:42:31 -04:00
Brad King f2596dfa0e macOS: Work around bug in system curl 8.{3,4,5} LibreSSL backend
Since commit d3cbee99e3 (macOS: Prefer building with system-provided
curl, 2024-05-09, v3.30.0-rc1~130^2~1) CMake uses the macOS-provided
curl, which uses the LibreSSL backend by default.  This exposes us to
curl issue 12525, created and fixed by the following upstream curl
commits:

* commit `bec0c5bbf` (openssl: switch to modern init for
                      LibreSSL 2.7.0+, 2023-08-07, `curl-8_3_0~201`)
* commit `9f2d2290d` (openssl: re-match LibreSSL deinit with init,
                      2023-12-15, `curl-8_6_0~219`)

Work around the bug by preferring the secure-transport backend by
default on the problematic versions of curl.
2024-07-17 09:13:26 -04:00
Brad King 3b2ef9b54c Merge branch 'release-3.29' into release-3.30 2024-07-16 13:49:33 -04:00
Brad King 928571f3c2 CMake 3.29.7 v3.29.7 2024-07-16 13:14:29 -04:00
Brad King 5a3eabcd1f Merge topic 'custom-transitive-properties' into release-3.30
7a77a6c642 Restore support for exporting INTERFACE with missing dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9656
2024-07-16 10:32:14 -04:00