Commit Graph

37408 Commits

Author SHA1 Message Date
Brad King 0556c1b455 Merge topic 'fix-find-performane-regression'
bb3a348def find_package: Fix performance regression in 4.0.0 release

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10731
2025-05-01 15:50:28 -04:00
Matthew Woehlke bb3a348def find_package: Fix performance regression in 4.0.0 release
In commit e90f60f864 (find_package: Don't glob certain macOS paths,
2024-10-23, v4.0.0-rc1~579^2~1) we changed the name matching logic of
`find_package` to check if a possible match is a directory before
checking whether the name is a match.  In some situations, this results
in unnecessarily calling `stat` for a very large number of files, which
can be extremely slow on some systems (especially Windows).  Fix this by
making the check the last thing we do before accepting a possible match.

Fixes: #26817
2025-05-01 14:48:33 -04:00
Brad King 74e677f62b Merge topic 'clang-libstdcpp-support'
5750fcd7b4 ci: enable `import_std23` module compilation with clang
52e2785018 experimental/CXXModules: recycle the UUID
28333c4516 Clang/CXXImportStd: support `-stdlib=libstdc++`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10727
2025-05-01 08:40:49 -04:00
Brad King 6514fdebab Merge topic 'fix-cps-relative-name-mangling'
9081e73104 CPS: Fix mangling of relative requirement names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10729
2025-05-01 08:31:20 -04:00
Kitware Robot 0823acb5ef CMake Nightly Date Stamp 2025-05-01 00:04:14 -04:00
Matthew Woehlke 9081e73104 CPS: Fix mangling of relative requirement names
CPS names look like `[package]:component`, which needs to get mangled
into `package::component` to match CMake's convention. This was
implemented correctly for fully qualified component requirements, but
relative names were not being properly mangled. Adjust handling of
relative names to correctly translate from CPS to CMake convention.
2025-04-30 11:56:09 -04:00
Brad King 07a30dc075 Merge topic 'GNUInstallDirs-get-absolute-install-dir'
cc6dbd194c GNUInstallDirs: Cache CMAKE_INSTALL_* with leading usr/ for install prefix /
a7fcb1320c GNUInstallDirs: Make GNUInstallDirs_get_absolute_install_dir a function
03e796f9ab GNUInstallDirs: Move the common handler for `SYSCONFDIR` and `LOCALSTATEDIR`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10584
2025-04-30 09:52:43 -04:00
Brad King 8946984340 Merge topic 'avoid-duplicates'
e991145430 Source: Avoid duplicate calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10725
2025-04-30 09:49:46 -04:00
Brad King ced61f69cb Merge topic 'macos-curl-backend'
5d3f931956 Merge branch 'backport-macos-curl-backend' into macos-curl-backend
1e1129c6fe macOS: Reliably apply workaround for system curl 8.{3,4,5} LibreSSL backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10724
2025-04-30 09:39:50 -04:00
Brad King f70aed86f1 Merge topic 'macos-curl-backend' into release-4.0
1e1129c6fe macOS: Reliably apply workaround for system curl 8.{3,4,5} LibreSSL backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10724
2025-04-30 09:39:48 -04:00
Ben Boeckel 52e2785018 experimental/CXXModules: recycle the UUID
Now that `clang -stdlib=libstdc++` is supported.
2025-04-30 13:48:13 +02:00
Kitware Robot 5d87f4f47c CMake Nightly Date Stamp 2025-04-30 00:05:12 -04:00
Cristian Le cc6dbd194c GNUInstallDirs: Cache CMAKE_INSTALL_* with leading usr/ for install prefix /
As a consequence, `GNUInstallDirs_get_absolute_install_dir` does not
alter the `var` argument (the relative path argument).

Closes: #26834
Signed-off-by: Cristian Le <git@lecris.dev>
2025-04-29 13:49:42 -04:00
Brad King 5d3f931956 Merge branch 'backport-macos-curl-backend' into macos-curl-backend 2025-04-29 11:50:17 -04:00
Gregor Jasny 1e1129c6fe macOS: Reliably apply workaround for system curl 8.{3,4,5} LibreSSL backend
In commit f2596dfa0e (macOS: Work around bug in system curl 8.{3,4,5}
LibreSSL backend, 2024-07-16, v3.30.1~2^2) we tried to prefer
`secure-transport` on problematic versions of curl.  However, the
`curl_global_sslset` setting must be applied before every
`curl_global_init` call, not just the first one.  Otherwise a
second (or subsequent) download won't apply the work-around.
2025-04-29 11:49:49 -04:00
Brad King 9dcb87f87a Merge topic 'patch-FindXCTest'
72e5ebcbd3 FindXCTest: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10719
2025-04-29 11:06:04 -04:00
Brad King e94ace226b Merge topic 'configure-log-find-v1'
a3f273b657 cmFindBase: Create `find-v1` configure log events
58b5d41a4f cmFindBase: Track initial state with an `enum`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10621
2025-04-29 10:54:10 -04:00
Vitaly Stakhovsky e991145430 Source: Avoid duplicate calls 2025-04-29 06:51:28 -04:00
Kitware Robot d85041c830 CMake Nightly Date Stamp 2025-04-29 00:07:00 -04:00
Brad King 456cff9ebd Merge topic 'project-compat-version'
0138df29dc project: add COMPAT_VERSION keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10696
2025-04-28 11:20:01 -04:00
Ben Boeckel a3f273b657 cmFindBase: Create find-v1 configure log events
Record `find_` command events in the configure log, except
`find_package` as it is far more complicated (and will have its own
event kind).

Note that testing only generates the events of interest, there is no
verification. Also note that testing that the "found" to "notfound"
transition causes an event is not testable because a truthy value in the
variable skips any kind of verification or other logic beyond
normalization.

Co-Authored-by: Ryan Krattiger <ryan.krattiger@kitware.com>
See: #24833
2025-04-28 13:55:36 +02:00
Ben Boeckel 58b5d41a4f cmFindBase: Track initial state with an enum
When logging a `WriteFindBaseEvent`, one of the triggers to log is the
change in the "found" status of a `find_` command. Track the difference
between "undefined", "found", and "tried before, but not found" so that
the transition can be detected reliably.

Co-Authored-by: Ryan Krattiger <ryan.krattiger@kitware.com>
2025-04-28 11:47:32 +02:00
Kitware Robot 9debf90d87 CMake Nightly Date Stamp 2025-04-28 00:04:05 -04:00
Peter Kokot 72e5ebcbd3 FindXCTest: Update documentation
- Module documentation synced with other similar find modules.
- Added examples section.
- Added note about Swift Testing framework, which supersedes the XCTest.
- Added note about the XCTEST target property and synced docs a bit.
- Used word "commands" instead of "macros" or "functions".
2025-04-28 00:12:14 +02:00
Kitware Robot b73c194b98 CMake Nightly Date Stamp 2025-04-27 00:04:39 -04:00
Brad King 1cd89e65d7 Merge topic 'ci-fedora-42'
36d96ce044 ci: Drop outdated HDF5 Fortran compiler wrapper patch from Fedora jobs
5b21de16a0 ci: use Fedora 42 images and environments
efa818f661 ci: update Fedora base images to Fedora 42
585e1655c2 ci: Update cppdap in extdeps jobs
01d0f037b6 ci: Remove superuser tools from PATH in Linux jobs
8b1b201154 clang-tidy: suppress misc-redundant-expression lint on macro expansion
3d0ac2dafa clang-tidy: fix bugprone-unhandled-self-assignment lint
16455374cf Source: Suppress gcc 15 -Wmaybe-uninitialized in std::function
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10711
2025-04-26 10:00:15 -04:00
Kitware Robot 6cab79c7bb CMake Nightly Date Stamp 2025-04-26 00:04:20 -04:00
Vito Gamberini 0138df29dc project: add COMPAT_VERSION keyword
Fixes: #26893
2025-04-25 13:42:11 -04:00
Brad King cd7cbcc8fb Merge topic 'ctest_instrumentation_outputsizes'
2df19bec2b instrumentation: include output sizes in CTest XML

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Martin Duffy <martin.duffy@kitware.com>
Merge-request: !10712
2025-04-25 08:55:35 -04:00
Kitware Robot 3570c66d52 CMake Nightly Date Stamp 2025-04-25 00:04:27 -04:00
Zack Galbreath 2df19bec2b instrumentation: include output sizes in CTest XML 2025-04-24 11:39:45 -04:00
Brad King 8b1b201154 clang-tidy: suppress misc-redundant-expression lint on macro expansion 2025-04-24 07:56:40 -04:00
Brad King 3d0ac2dafa clang-tidy: fix bugprone-unhandled-self-assignment lint 2025-04-24 07:56:40 -04:00
Brad King 16455374cf Source: Suppress gcc 15 -Wmaybe-uninitialized in std::function
The warning is in the `std::function` implementation.
2025-04-24 07:56:39 -04:00
Brad King b1c22bdc38 Source: Fix -Wformat warnings 2025-04-24 07:56:39 -04:00
Brad King 98bc051e3a Merge topic 'project-variable-cleanup'
c4d12d7d1f project: cleanup variable creation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10704
2025-04-24 07:14:17 -04:00
Brad King a820819bb4 Merge topic 'update-kwsys'
251124dfe1 Merge branch 'upstream-KWSys' into update-kwsys
43effccf86 KWSys 2025-04-23 (6c76a545)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10700
2025-04-24 07:13:15 -04:00
Kitware Robot e3e6fc0cb8 CMake Nightly Date Stamp 2025-04-24 00:05:10 -04:00
Vito Gamberini c4d12d7d1f project: cleanup variable creation 2025-04-23 12:23:54 -04:00
Brad King 251124dfe1 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-04-23 (6c76a545)
2025-04-23 09:11:30 -04:00
Kitware Robot ccde2db4ff CMake Nightly Date Stamp 2025-04-23 00:04:03 -04:00
Brad King dc8ead96c2 Merge topic 'file-download-url-error'
cc2cbfc61e file: Add more context to errors from file(DOWNLOAD)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10672
2025-04-22 09:35:29 -04:00
Brad King 29b0b3d281 Merge topic 'remove-cmDynamicLoader'
b4b0d3f118 cmDynamicLoader: Remove unused code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10692
2025-04-22 09:34:02 -04:00
Kitware Robot 18e07af049 CMake Nightly Date Stamp 2025-04-22 00:04:24 -04:00
Brad King b4b0d3f118 cmDynamicLoader: Remove unused code
It has not been used since commit dc0c6734d3 (CMP0031: Remove support
for OLD load_command command, 2024-11-26, v4.0.0-rc1~174^2~21).
2025-04-21 19:36:26 -04:00
Brad King ebbf767b98 Merge topic 'project-command-argument-parser'
e28e66db8d project: use argument parser

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10673
2025-04-21 09:36:18 -04:00
Kitware Robot e66e0b2cfe CMake Nightly Date Stamp 2025-04-21 00:04:16 -04:00
Kitware Robot 8bcbcff451 CMake Nightly Date Stamp 2025-04-20 00:04:16 -04:00
Kitware Robot 6c172b0e15 CMake Nightly Date Stamp 2025-04-19 00:07:12 -04:00
Martin Duffy cc2cbfc61e file: Add more context to errors from file(DOWNLOAD) 2025-04-18 13:30:05 -04:00