Commit Graph

37415 Commits

Author SHA1 Message Date
Kitware Robot
7554926e54 CMake Nightly Date Stamp 2025-05-03 00:06:19 -04:00
Brad King
52903a0ae4 Merge topic 'find-event-refactor'
fdccb8846c cmFindCommonDebugState: adopt event writing logic
716dfd3b1e cmFindCommon: track debug state as an object
c6d097135d cmFindBaseDebugState: factor out a base class
bd5cb1f8e6 cmFindCommon: use `DebugModeEnabled` to query for debug mode
76ea613f4c cmFindBaseDebugState: get the command name directly from the object

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10713
2025-05-02 11:07:02 -04:00
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
Ben Boeckel
fdccb8846c cmFindCommonDebugState: adopt event writing logic
This lays the groundwork for `find_package` also using the same
triggering logic.
2025-05-01 12:47:24 +02: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
Ben Boeckel
716dfd3b1e cmFindCommon: track debug state as an object
This also means that the `DebugState` instances do not need to ask if
debug mode is enabled: if they exist, it is enabled.
2025-04-29 20:10:43 +02:00
Ben Boeckel
c6d097135d cmFindBaseDebugState: factor out a base class
This will be used to share logic with `find_package` writing events.
2025-04-29 20:10:43 +02:00
Ben Boeckel
bd5cb1f8e6 cmFindCommon: use DebugModeEnabled to query for debug mode
This simplifies changing how debug mode is represented.
2025-04-29 20:10:43 +02:00
Ben Boeckel
76ea613f4c cmFindBaseDebugState: get the command name directly from the object 2025-04-29 20:10:43 +02: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