Commit Graph

37288 Commits

Author SHA1 Message Date
Brad King be1f4dde2e Merge topic 'find_package-cps-multiple-inclusion'
b498611902 find_package: Add minimal support for CPS multiple inclusion

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10581
2025-04-03 14:06:53 -04:00
Brad King 07970d3c64 Merge topic 'restore-home-tidle'
01f92efeb0 Restore expansion of leading '~' as home directory in input paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10580
2025-04-03 14:04:57 -04:00
Brad King 42e7c0aa27 Merge topic 'fix-state-reset'
acaae6d265 cmState: Improve how state is reset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10583
2025-04-03 14:03:34 -04:00
Kitware Robot a2530fd955 CMake Nightly Date Stamp 2025-04-03 00:04:41 -04:00
Matthew Woehlke acaae6d265 cmState: Improve how state is reset
Modify cmState::Reset to create a fresh BuildsystemDirectoryStateType
for the root, rather than trying to reset the old one. This is less
brittle with respect to changes made to BuildsystemDirectoryStateType
(e.g. adding new members).
2025-04-02 15:18:00 -04:00
Brad King 01f92efeb0 Restore expansion of leading '~' as home directory in input paths
This was accidentally dropped by commit 622596c6b2 (cmSystemTools:
Re-implement ToNormalizedPathOnDisk without translation map, 2024-10-30,
v4.0.0-rc1~528^2~5).  Previously it was done by `CollapseFullPath`.
`cm::PathResolver` intentionally does not expand `~` because it makes
sense only for transforming input paths.  Teach `ToNormalizedPathOnDisk`
to handle it directly.

Fixes: #26827
2025-04-02 14:41:48 -04:00
Matthew Woehlke b498611902 find_package: Add minimal support for CPS multiple inclusion
Do not try to load a CPS file if we've already loaded the same file.
This only works if the current `find_package` call selects the same file
as the previous most recent call, and if the user has not meddled with
the `<name>_CONFIG` variable.

Issue: #26731
2025-04-02 13:45:36 -04:00
Brad King ff5712fbfc Merge topic 'find_package-fix-nested-calls'
37823b366f find_package: Restore component requirements in nested calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10576
2025-04-02 10:23:28 -04:00
Brad King 7167236ba3 Merge topic 'find_package-fix-nested-calls' into release-4.0
37823b366f find_package: Restore component requirements in nested calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10576
2025-04-02 10:23:27 -04:00
Brad King 3178be226d Merge topic 'cmake-cache-line-parser'
a5281fd635 cmCacheManager: clarify whitespace skipping

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10571
2025-04-02 10:22:12 -04:00
Brad King 1959b818ed Merge topic 'update-kwsys'
c813d47353 Merge branch 'upstream-KWSys' into update-kwsys
d64343249c KWSys 2025-04-02 (284a7281)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10574
2025-04-02 10:19:19 -04:00
Matthew Woehlke 37823b366f find_package: Restore component requirements in nested calls
Fix logic to populate required and optional components from CMake
variables when `find_package` is called in a nested context.

This was broken in commit e2a6416622 (find_package: Refactor in support
of recursion, 2024-11-29, v4.0.0-rc1~356^2), which promoted the
component sets from locals (in cmFindPackageCommand::InitialPass) to
member variables. Previously, in a nested context, these sets were
simply not filled, and we relied on the variables indicating component
requirement to already be set. When logic was added to properly fill the
sets (which is needed for CPS), it blindly dumped all components into
the required set, without actually checking whether the context had
marked the components as required or optional.

Fixes: #26824
2025-04-02 10:16:40 -04:00
Brad King 4e8495bc11 Merge topic 'revert-get_filename_component-REALPATH-symlink-parent'
94d65a9535 get_filename_component: Restore lexical preprocessing of REALPATH for compat

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10564
2025-04-02 10:12:24 -04:00
Brad King c813d47353 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-04-02 (284a7281)
2025-04-02 08:29:55 -04:00
Kitware Robot d422e04b74 CMake Nightly Date Stamp 2025-04-02 00:04:40 -04:00
Brad King 24a85ac116 Merge topic 'patch-FindGit'
c584c45f9c FindGit: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10556
2025-04-01 11:46:36 -04:00
Brad King 94d65a9535 get_filename_component: Restore lexical preprocessing of REALPATH for compat
Revert commit c554437733 (get_filename_component: Fix REALPATH for ..
after symlink, 2024-11-21, v4.0.0-rc1~411^2) because it changed existing
behavior without a policy.  Also add a test case for the old behavior.

Note that we have policy `CMP0152` to fix this for `file(REAL_PATH)`,
but it does not affect `get_filename_component(... REALPATH)`.  A new
policy would be needed for the latter.

Fixes: #26815
Issue: #26472
2025-04-01 09:45:03 -04:00
Ben Boeckel a5281fd635 cmCacheManager: clarify whitespace skipping
Originally noticed as not comparing to `\0` (NUL), the condition is
actually redundant as neither `\0` nor `0` will match the "is
whitespace" check in the rest of the predicate. `NUL` is checked for in
the following `if` block.
2025-04-01 11:26:48 +02:00
Kitware Robot 9257afbf8b CMake Nightly Date Stamp 2025-04-01 00:04:32 -04:00
Kitware Robot b31843680e CMake Nightly Date Stamp 2025-03-31 00:04:41 -04:00
Craig Scott cf9f4177a2 Merge topic 'doc-cpack-configs'
d289d720cb Help: Use consistent plural form for CPack configurations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10546
2025-03-30 05:55:58 -04:00
Kitware Robot 550d243b7c CMake Nightly Date Stamp 2025-03-30 00:04:24 -04:00
Peter Kokot c584c45f9c FindGit: Update documentation
- Git_FOUND variable synced.
- Added more descriptions and synced with other similar find modules.
- Example extended.
2025-03-29 18:35:00 +01:00
Kitware Robot 7885d5edd9 CMake Nightly Date Stamp 2025-03-29 00:04:23 -04:00
Brad King e0b64aad53 Merge topic 'remove-FindCABLE'
2b8b17106c FindCABLE: Add policy to remove this module
3c2ed4bbc6 FindGCCXML: Move documentation to list of deprecated modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10540
2025-03-28 09:16:34 -04:00
Craig Scott d289d720cb Help: Use consistent plural form for CPack configurations 2025-03-28 15:46:12 +11:00
Kitware Robot 94a019a82e CMake Nightly Date Stamp 2025-03-28 00:04:37 -04:00
Brad King f76a123f98 CMake 4.0.0 2025-03-27 10:29:51 -04:00
Brad King 2b8b17106c FindCABLE: Add policy to remove this module
CABLE has not been maintained in a long time.
2025-03-27 09:48:49 -04:00
Brad King 54b548df7b Merge topic 'macos-bundle-content-dir'
6b3ec3fefb Ninja/Makefile: Add support for copying directories into Apple bundles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10508
2025-03-27 09:19:52 -04:00
Brad King ed91e8c360 Merge topic 'file-download-handle-write-error'
9476245dcd file(DOWNLOAD): Handle write errors
1994393f7a cmCurl: Provide CURL_WRITEFUNC_ERROR for curl < 7.87

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10507
2025-03-27 09:17:11 -04:00
Kitware Robot b0fd74d431 CMake Nightly Date Stamp 2025-03-27 00:04:33 -04:00
Junpeng Qiu 6b3ec3fefb Ninja/Makefile: Add support for copying directories into Apple bundles
When the `MACOSX_PACKAGE_LOCATION` property is set on a directory, Xcode
copies the entire directory into the bundle.  Implement this on Ninja
and Makefile generators too.

Fixes: #26808
Co-authored-by: Brad King <brad.king@kitware.com>
2025-03-26 14:51:26 -04:00
Brad King 1c60d83112 Merge topic 'update-kwsys'
52eeec1563 Merge branch 'upstream-KWSys' into update-kwsys
7bf8891b88 KWSys 2025-03-25 (6a109a7b)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Peter Kokot <peterkokot@gmail.com>
Merge-request: !10517
2025-03-26 09:38:45 -04:00
Hanjiang Yu 9476245dcd file(DOWNLOAD): Handle write errors 2025-03-26 09:32:39 -04:00
Brad King 1994393f7a cmCurl: Provide CURL_WRITEFUNC_ERROR for curl < 7.87 2025-03-26 09:32:39 -04:00
Kitware Robot cd9ed89ff0 CMake Nightly Date Stamp 2025-03-26 00:04:42 -04:00
Brad King 52eeec1563 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-03-25 (6a109a7b)
2025-03-25 09:36:46 -04:00
Kitware Robot 902b0b46c8 CMake Nightly Date Stamp 2025-03-25 00:04:48 -04:00
Brad King 0e6a2068f6 Merge topic 'ctest-exit'
46a0c04284 CTest: Allow setting exit code in ctest scripts
47277616d8 Tests/CTestTestChecksum: Add missing CMakeLists.txt file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9872
2025-03-24 10:22:18 -04:00
Kitware Robot ec10d51115 CMake Nightly Date Stamp 2025-03-24 00:04:40 -04:00
Kitware Robot 5cc08a4563 CMake Nightly Date Stamp 2025-03-23 00:04:46 -04:00
Kitware Robot 1c07011300 CMake Nightly Date Stamp 2025-03-22 00:04:22 -04:00
Brad King 0cd7adb881 CMake 4.0.0-rc5 2025-03-21 09:34:42 -04:00
Brad King c8f4ae9ccf Merge topic 'GNU-linker-pushpop_state-detection'
d5be7c7f31 Linker: Detect GNU push-state/pop-state flags more robustly
7b552b9a64 Linker: Save GNU push-/pop-state detection with compiler inspection results
a9b126b0da Linker: Save linker inspection results with compiler inspection results
3f5f2b2d49 Linker: Honor CMAKE_<LANG>_LINK_LIBRARY_USING_FEATURE_SUPPORTED when FALSE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10468
2025-03-21 08:07:16 -04:00
Brad King 8214004200 Merge topic 'GNU-linker-pushpop_state-detection' into release-4.0
d5be7c7f31 Linker: Detect GNU push-state/pop-state flags more robustly
7b552b9a64 Linker: Save GNU push-/pop-state detection with compiler inspection results
a9b126b0da Linker: Save linker inspection results with compiler inspection results
3f5f2b2d49 Linker: Honor CMAKE_<LANG>_LINK_LIBRARY_USING_FEATURE_SUPPORTED when FALSE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10468
2025-03-21 08:07:13 -04:00
Kitware Robot 3b89df520d CMake Nightly Date Stamp 2025-03-21 00:04:32 -04:00
Daniel Pfeifer 46a0c04284 CTest: Allow setting exit code in ctest scripts 2025-03-20 16:31:49 +01:00
Marc Chevrier a9b126b0da Linker: Save linker inspection results with compiler inspection results
Reconfigure `CMake<LANG>Compiler.cmake` again after linker information
is detected.
2025-03-20 11:00:02 -04:00
Marc Chevrier 3f5f2b2d49 Linker: Honor CMAKE_<LANG>_LINK_LIBRARY_USING_FEATURE_SUPPORTED when FALSE
It is documented to override `CMAKE_LINK_LIBRARY_USING_FEATURE_SUPPORTED`.
2025-03-20 10:59:01 -04:00