Commit Graph

36556 Commits

Author SHA1 Message Date
Brad King
a9fe9bbe6b Merge topic 'ctest-show-properties'
7b041f7fe8 ctest: Print GENERATED_RESOURCE_SPEC_FILE property in show-only output
733808150b ctest: Print custom timeout signal properties in show-only output
57587b3863 Tests/RunCMake/CTestCommandLine: Fix python string literal syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10035
2024-11-26 08:55:02 -05:00
Brad King
6d42c0618f Merge topic 'clean-up-saerch-helper-lifetime'
ea28b30e04 find_package: Allow cmDirectoryListGenerator::Names to be nullptr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10032
2024-11-26 08:53:16 -05:00
Kitware Robot
08c0fcb4d0 CMake Nightly Date Stamp 2024-11-26 00:01:13 -05:00
Brad King
7b041f7fe8 ctest: Print GENERATED_RESOURCE_SPEC_FILE property in show-only output
This was missed in commit c8c1dd0d95 (CTest: Add ability to dynamically
generate resource spec file, 2023-07-20, v3.28.0-rc1~233^2).
2024-11-25 14:18:07 -05:00
Brad King
733808150b ctest: Print custom timeout signal properties in show-only output
This was missed in commit 54c5654f7d (ctest: Optionally terminate tests
with a custom signal on timeout, 2023-05-11, v3.27.0-rc1~18^2).
2024-11-25 14:17:34 -05:00
Matthew Woehlke
ea28b30e04 find_package: Allow cmDirectoryListGenerator::Names to be nullptr
Change cmDirectoryListGenerator::Names to be a pointer rather than a
reference wrapper. This allows it to be a null pointer, which allows
cmAnyDirectoryListGenerator to pass a nullptr rather than needing to
construct and hold an empty list just to satisfy the reference being
non-null. Importantly, it also make it more obvious that anyone
constructing a cmDirectoryListGenerator or subcless thereof needs to
pass something that isn't going to immediately go out of scope.
2024-11-25 12:41:56 -05:00
Brad King
508817037d Merge topic 'aix-archive-shared-libraries'
2c22aae14b Tests/RunCMake: Enable CMP0182 in test cases on AIX
5c78623143 AIX: Enable shared library archives by default
7a05e8e994 Help: Reword AIX_SHARED_LIBRARY_ARCHIVE to avoid assuming a default
655a245d60 Tests: Explicitly disable AIX_SHARED_LIBRARY_ARCHIVE in some cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10030
2024-11-25 10:07:20 -05:00
Brad King
bc13010e38 Merge topic 'macOS-sw_vers-stderr'
58aa659bf8 Tests/RunCMake/cmake_host_system_information: Cover macOS Malloc Debugging env
954afd528b Merge branch 'upstream-KWSys' into macOS-sw_vers-stderr
295f4b1de1 KWSys 2024-11-23 (3e9b0b88)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10029
2024-11-25 10:03:28 -05:00
Kitware Robot
0091229ddb CMake Nightly Date Stamp 2024-11-25 00:02:02 -05:00
Kitware Robot
51f43b61bc CMake Nightly Date Stamp 2024-11-24 00:01:11 -05:00
Brad King
5c78623143 AIX: Enable shared library archives by default
This is the preferred convention for shared libraries on AIX.
Add policy CMP0182 to provide compatibility.

Closes: #26372
2024-11-23 15:23:25 -05:00
Brad King
954afd528b Merge branch 'upstream-KWSys' into macOS-sw_vers-stderr
* upstream-KWSys:
  KWSys 2024-11-23 (3e9b0b88)

Fixes: #26466
2024-11-23 15:17:07 -05:00
Brad King
1412bfbf58 Merge topic 'vs-solution-items'
0bb13ba0e6 VS: Add support for Visual Studio solution items
f1bcb7276a VS: Refactor solution folder creation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10003
2024-11-23 15:13:59 -05:00
Brad King
1cd99d288f Merge topic 'aix-archive-shared-libraries-export'
cd6fb63093 AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10027
2024-11-23 15:12:51 -05:00
Kitware Robot
ae78e5510b CMake Nightly Date Stamp 2024-11-23 00:01:20 -05:00
Brad King
e75067ce6f Merge topic 'aix-archive-shared-libraries-genex'
f923463f2b AIX: Disallow TARGET_SONAME_* genex for AIX_SHARED_LIBRARY_ARCHIVE targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10028
2024-11-22 12:31:00 -05:00
Lauri Vasama
0bb13ba0e6 VS: Add support for Visual Studio solution items
Files listed in the `VS_SOLUTION_ITEMS` directory property of a project
directory are added as solution items in the 'Solution Items' solution
directory.

If `source_group` is applied to the files listed in `VS_SOLUTION_ITEMS`,
solution groups matching the names of the source groups are created
outside of the default 'Solution Items' group.  If not items are placed
into the default group, it is not created.

Solution items added to subprojects are not included in the top-level
project.

Closes: #26409
2024-11-22 09:12:19 -05:00
Brad King
a882dde32a Merge topic 'policy-cleanup'
94b2d56017 Help/policy/CMP0015: Remove stray indentation
577e693d3e Help: Use standard policy advice in CMP0000
96a0cded7f Tests: Avoid enabling C unnecessarily in CMP0022 and CMP0023 cases
c941f728ec Tests/CPackComponentsForAll: Update cmake_minimum_required to 3.10
34070c3319 Tests/CMakeCommands/target_link_libraries: Fix keyword consistency
73c334677d Tests: Use latest cmake_minimum_required possible for old policy cases
cde63efaea Tests/ExternalProject: Update sample projects to require CMake 3.31
0d416ad57f Tests/PolicyScope: Use more recent policies
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10022
2024-11-22 09:03:20 -05:00
Brad King
43c665fd85 Merge topic 'remove-trailing-blank-lines'
99ac59d31b style: Remove trailing blank lines from all CMake sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10026
2024-11-22 09:01:55 -05:00
Kitware Robot
86b1afb17e CMake Nightly Date Stamp 2024-11-22 00:01:18 -05:00
Brad King
cd6fb63093 AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exports
Teach `export()` and `install(EXPORT)` to record this setting on the
imported targets they generate.  Make this property's non-presence
authoritative on imported targets since they represent what was built
elsewhere.
2024-11-21 19:02:00 -05:00
Brad King
f923463f2b AIX: Disallow TARGET_SONAME_* genex for AIX_SHARED_LIBRARY_ARCHIVE targets
AIX shared library archives have no filesystem artifact named with their
SONAME because it is in an archive.
2024-11-21 18:44:25 -05:00
Matthew Woehlke
99ac59d31b style: Remove trailing blank lines from all CMake sources
Our development workflow tooling prevents trailing blank lines
from being added, but some such lines remain from before that
was enforced.  Remove them to make it easier to rename files
without triggering enforcement.
2024-11-21 15:48:02 -05:00
Brad King
eb281d3454 CMake 3.31.1 2024-11-21 11:15:52 -05:00
Brad King
ee5a6f3aec Merge topic 'execute_process-OUTPUT_FILE-cloexec'
60af429c5d execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Bertrand Bellenot <bertrand.bellenot@cern.ch>
Merge-request: !10014
2024-11-21 08:24:20 -05:00
Brad King
82aaccc576 Merge topic 'execute_process-OUTPUT_FILE-cloexec' into release-3.31
60af429c5d execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Bertrand Bellenot <bertrand.bellenot@cern.ch>
Merge-request: !10014
2024-11-21 08:24:18 -05:00
Kitware Robot
049c449537 CMake Nightly Date Stamp 2024-11-21 00:01:40 -05:00
Lauri Vasama
f1bcb7276a VS: Refactor solution folder creation
* Add cmVisualStudioFolder struct containing names of projects within
  that folder.
* Separate folder creation out of WriteTargetsToSolution into a new
  CreateSolutionFolders function.
2024-11-20 18:10:25 +02:00
Brad King
a35f4cbbca cmGeneratorTarget: Remove unused ComputeLinkInterface signature 2024-11-20 10:54:01 -05:00
Brad King
b97b1d1ed4 cmPolicies: Factor out macro to old VERSION update advice 2024-11-20 10:54:01 -05:00
Brad King
aaebad0993 cmPolicies: Factor out helper to recognize generated cmake_policy calls 2024-11-20 10:54:00 -05:00
Brad King
ad3ae50adf cmLinkItem: Remove incorrect CMP0003_ prefix on function
The `ComputeLinkType` function is not related to CMP0003.
2024-11-20 10:54:00 -05:00
Brad King
6be01c932e Merge topic 'install-multi-config'
ea8e3107ec cmake --install: Respect CMAKE_DEFAULT_CONFIGS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9994
2024-11-20 09:35:55 -05:00
Brad King
abbe8e860d Merge topic 'various-refactorings'
8352a2d12f cmFileCommand.cxx: Optimize `cmStrCat()` calls
e2c9bb7f54 cmFindBase.cxx: Optimize `cmStrCat()` calls
16a1fa9e35 cmFindBase.cxx: Check `DebugMode` and exit early to reduce indentation
6751b3d9b4 cmLocalGenerator.cxx: Optimize `std::ostream::operator<<()` calls
11bf70f968 FindPackageHandleStandardArgs: Remove the unneeded symbol from the message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10013
2024-11-20 09:34:21 -05:00
Brad King
5b509ec9b4 Merge topic 'load_command-Wcast-function-type-strict'
78e95e4ce1 cmLoadCommandCommand: Suppress -Wcast-function-type-strict warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10017
2024-11-20 09:29:42 -05:00
Brad King
bd200f9215 Merge topic 'cps-export-experimental-message'
71784bb6d8 cmExperimental: Make CPS-export experimental notice more consistent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10019
2024-11-20 09:20:05 -05:00
Brad King
60af429c5d execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptors
Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess
with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8), the descriptors
for the `OUTPUT_FILE` and `ERROR_FILE` leak to child processes.

With `ExternalProject` + `INSTALL_COMMAND` + `LOG_INSTALL`, the logging
wrapper script leaks the log files' descriptors to the native build
tool.  If they happen to match the `make` job server's pipe fds, e.g.,
with GNU `make` <= 4.3, then the build fails with an error like:

    gmake[4]: *** read jobs pipe: Bad file descriptor.  Stop.

Fixes: #26398
2024-11-20 06:16:11 -05:00
Kitware Robot
321efcce60 CMake Nightly Date Stamp 2024-11-20 00:01:53 -05:00
Matthew Woehlke
71784bb6d8 cmExperimental: Make CPS-export experimental notice more consistent
There is an inadvertent inconsistency in the notice for the CPS export
experimental feature as compared to other experimental feature notices.
Change it to be consistent.
2024-11-19 17:40:06 -05:00
Brad King
78e95e4ce1 cmLoadCommandCommand: Suppress -Wcast-function-type-strict warning
We need this style cast to load plugins, and it works on architectures
we support.
2024-11-19 11:56:37 -05:00
Martin Duffy
ea8e3107ec cmake --install: Respect CMAKE_DEFAULT_CONFIGS
When `cmake --install` is run with no `--config` passed, use
`CMAKE_DEFAULT_CONFIGS` to determine which config(s) to install.

Fixes: #21475
2024-11-19 11:37:47 -05:00
Brad King
af3a48a591 Merge topic 'Linux-deduplication-static-libs'
0445190d2f LLD linker: avoid regression on archive libraries deduplication

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10010
2024-11-19 10:14:42 -05:00
Alex Turbov
8352a2d12f cmFileCommand.cxx: Optimize cmStrCat() calls 2024-11-19 17:57:57 +04:00
Alex Turbov
e2c9bb7f54 cmFindBase.cxx: Optimize cmStrCat() calls 2024-11-19 17:57:43 +04:00
Alex Turbov
16a1fa9e35 cmFindBase.cxx: Check DebugMode and exit early to reduce indentation 2024-11-19 17:57:38 +04:00
Alex Turbov
6751b3d9b4 cmLocalGenerator.cxx: Optimize std::ostream::operator<<() calls 2024-11-19 17:57:33 +04:00
Kitware Robot
0662a7b4d7 CMake Nightly Date Stamp 2024-11-19 00:01:43 -05:00
Marc Chevrier
0445190d2f LLD linker: avoid regression on archive libraries deduplication
Due to a bug on LLD linker for ELF binaries, deduplication should
occur only if CMP0156 and CMP0179 are NEW.

Fixes: #26447
2024-11-18 21:02:50 +01:00
Kitware Robot
0948a7fa83 CMake Nightly Date Stamp 2024-11-18 00:01:39 -05:00
Kitware Robot
c1fd1aa0f2 CMake Nightly Date Stamp 2024-11-17 00:02:10 -05:00