Commit Graph

36763 Commits

Author SHA1 Message Date
Brad King
6a3db56d64 Merge topic 'lcc-updates-2025-01'
a438a0460a ArgumentParserTypes: implement a workaround for EDG 6 assertion failure
d3edb67134 Tests: disable some tests on Alt Linux due to rpm config
68d730bcff Tests: switch off some RunCMake tests for broken libc on e2k
488de6294a CPack: correctly perform querytags on old versions of RPM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10174
2025-01-18 09:36:05 -05:00
Kitware Robot
9dc0b22505 CMake Nightly Date Stamp 2025-01-18 00:06:09 -05:00
Brad King
759b55991a Merge topic 'renumber-to-4.0'
bd176b430c Renumber post-3.31 development from 3.32 to 4.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10183
2025-01-17 08:56:31 -05:00
Brad King
e95fce2849 Merge topic 'LINK_WARNING_AS_ERROR-extend-capabilities'
b350f95ecf LINK_WARNING_AS_ERROR property: extend capabilities
216c469214 MSVC: Use dash-style flag for LINK_WARNING_AS_ERROR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10133
2025-01-17 08:50:32 -05:00
Brad King
4096f4068b Merge topic 'update-kwsys'
889ebedf81 Merge branch 'upstream-KWSys' into update-kwsys
5224aabf05 KWSys 2025-01-16 (843e99e2)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10184
2025-01-17 08:43:46 -05:00
Kitware Robot
26b15f8e4b CMake Nightly Date Stamp 2025-01-17 00:06:25 -05:00
makise-homura
a438a0460a ArgumentParserTypes: implement a workaround for EDG 6 assertion failure
While building CMake on EDG 603+-based compiler, such as LCC 1.27.x,
an internal assertion failure may be experienced with a message like
'assertion failed at: "il.c", line 15635 in i_copy_dynamic_init'.

This commit introduces a workaround that helps avoiding this.

Workaround is enabled only for LCC based on this EDG frontend,
it is not known if it is needed for any other compilers, since
there were none found based on EDG 603 and later and having this bug.
2025-01-17 07:37:24 +03:00
Marc Chevrier
b350f95ecf LINK_WARNING_AS_ERROR property: extend capabilities
Fixes: #26536
2025-01-16 22:35:00 +01:00
Brad King
889ebedf81 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-01-16 (843e99e2)
2025-01-16 11:52:07 -05:00
Brad King
bd176b430c Renumber post-3.31 development from 3.32 to 4.0
Issue: #26613
2025-01-16 09:18:21 -05:00
Brad King
e87c6c6259 Merge topic 'execute-process-error'
3ece058d97 execute_process: Allow setting default COMMAND_ERROR_IS_FATAL value
85035dd954 Help/command/execute_process: Fix definition list formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10169
2025-01-16 08:59:00 -05:00
Brad King
8018f2a6c4 Merge topic 'instrumentation'
097d4fd1b5 instrumentation: Collect and record project build system metrics
8a3c195188 Tests/RunCMake: Add RunCMake_CHECK_ONLY Option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !9791
2025-01-16 08:55:25 -05:00
Kitware Robot
03adee095f CMake Nightly Date Stamp 2025-01-16 00:07:35 -05:00
Martin Duffy
3ece058d97 execute_process: Allow setting default COMMAND_ERROR_IS_FATAL value
Issue: #26576
2025-01-15 11:12:34 -05:00
Martin Duffy
097d4fd1b5 instrumentation: Collect and record project build system metrics
Add a feature for collecting build instrumentation for CMake projects.

Issue: #26099
2025-01-15 09:16:50 -05:00
Kitware Robot
d973339ded CMake Nightly Date Stamp 2025-01-15 00:06:41 -05:00
Brad King
050cfe27ac Merge topic 'fix-installscripts-gen'
183d25f1b8 Merge branch 'backport-fix-installscripts-gen' into fix-installscripts-gen
ca5e6dadb5 install: Generate InstallScripts.json in consistent location
98a34a06e6 install: Generate InstallScripts.json in consistent location

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10168
2025-01-14 09:49:02 -05:00
Brad King
72e27a4856 Merge topic 'fix-typos-found-by-pre-commit-hooks'
d620d77d26 FindDoxygen: Rename `_Doxygen_dne_header` -> `_Doxygen_do_not_edit_header`
e7ff3cccea PushToAndroidDevice.cmake: Rename `cmake_parse_arguments` prefix
bc8621d999 Fix: A lot of typos in code found by `typos`
b33beb7af5 Help: Fix some typos found by `sphinx-lint`
78e45c2db6 Style: Replace TABs with spaces for indentation in some files
74e0173f66 Tests(NuGet): Fix the test to ignore empty and space-only lines

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10151
2025-01-14 09:44:34 -05:00
Brad King
c7c322be9a Merge topic 'find-cps-deps'
42de87cbae find_package: Find CPS dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10109
2025-01-14 09:41:14 -05:00
Kitware Robot
25782aa61f CMake Nightly Date Stamp 2025-01-14 00:05:51 -05:00
Martin Duffy
98a34a06e6 install: Generate InstallScripts.json in consistent location
Since commit 159ba027b9 (Install: Add parallel installation option,
2024-06-19, v3.31.0-rc1~333^2) the file was generated relative to the
current working directory.  This is not always the top of the build
tree, so specify the path explicitly.
2025-01-13 12:02:02 -05:00
Brad King
66ba4fcae7 Merge topic 'ctest-cost-test-name-fix'
040da7d832 ctest: Allow arbitrary characters in test names of CTestCostData.txt

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10161
2025-01-13 11:45:17 -05:00
Brad King
74c462b4f8 Merge topic 'xcode-scheme-test-config'
7d28005244 Xcode: Support for test action 'Build Configuration' scheme property
1f4e1ccbc8 Help: Move launch config scheme property to the correct section
8aaae0f643 vim: Remove duplicated keywords from cmake.vim

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10154
2025-01-13 11:37:31 -05:00
Brad King
eb616ed6fd Merge topic 'fix-Fortran_BUILDING_INTRINSIC_MODULES'
b65930a7a7 Fortran: Add Fortran_BUILDING_INTRINSIC_MODULES for building intrinsics

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10158
2025-01-13 11:22:05 -05:00
Brad King
80bac4de30 Merge topic 'cmake-self-symlinks'
6d9ab7964d cmake: Restore finding installed resources in their real path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10160
2025-01-13 11:19:56 -05:00
Matthew Woehlke
42de87cbae find_package: Find CPS dependencies
Implement finding dependencies of CPS packages. This is done by setting
up additional `cmFindPackageCommand` instances which are used to look
for a parent package's dependencies.
2025-01-13 08:43:14 -05:00
Kitware Robot
0410dfbe76 CMake Nightly Date Stamp 2025-01-13 00:06:20 -05:00
Alex Turbov
bc8621d999 Fix: A lot of typos in code found by typos
Yet another great code spellchecker: https://github.com/crate-ci/typos/

(Will be added later as a `pre-commit` hook)
2025-01-12 18:49:34 +04:00
Kitware Robot
4f68bfdc15 CMake Nightly Date Stamp 2025-01-12 00:07:58 -05:00
Kitware Robot
0cc144ecfd CMake Nightly Date Stamp 2025-01-11 00:06:29 -05:00
John Drouhard
040da7d832 ctest: Allow arbitrary characters in test names of CTestCostData.txt
This changes the way lines in CTestCostData.txt are parsed to allow for
spaces in the test name.

It does so by looking for space characters from the end; and once two
have been found, assumes everything from the beginning up to that
second-to-last-space is the test name.

Additionally, parsing the file should be much more efficient since there
is no string or vector heap allocation per line. The std::string used by
the parse function to convert the int and float should be within most
standard libraries' small string optimization.

Fixes: #26594
2025-01-10 13:05:29 -06:00
Brad King
92f6b92155 Merge topic 'duplicate-source-behavior'
3e15419bd4 target_sources: Restore toleration of duplicate CXX_MODULES sources
5cfb8ae790 Tests/CXXModules: add a test with duplicate sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10155
2025-01-10 09:28:16 -05:00
Brad King
675518ea81 Merge topic 'revert-genex-tco-subgraph'
a6b84a438f GenEx: Revert "Limit TARGET_PROPERTY transitive closure optimization"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10156
2025-01-10 09:21:04 -05:00
Brad King
8bd397dce6 Merge topic 'vs-solution-items-absolute'
6c187aae3b VS: Fix VS_SOLUTION_ITEMS for absolute paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10153
2025-01-10 09:18:49 -05:00
Brad King
853c75ac61 Merge topic 'relax-rng-access'
339c2b886a cmSystemTools: Add RandomNumber method that avoid re-seeding from OS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10132
2025-01-10 09:16:21 -05:00
Brad King
1ebfd7ac81 Merge topic 'gcc-import-std'
2a0ca6a26d ci: add jobs to test GCC 15-to-be with `import std`
469175c2e6 Experimental: recycle the `import std` UUID
a980dab9b1 gcc: support `import std`
2791b7564b Tests/RunCMake: handle C++26 support where needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10023
2025-01-10 09:04:38 -05:00
Brad King
c298905998 Merge topic 'find-cps-fix-defs'
8843407d52 cmPackageInfoReader: Improve warning messages
5fb1726761 cmPackageInfoReader: "Fix" handling of "includes"
c44c5b07be cmPackageInfoReader: Fix handling of "definitions"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10117
2025-01-10 08:59:43 -05:00
Kitware Robot
db740c72ca CMake Nightly Date Stamp 2025-01-10 00:06:22 -05:00
Ben Boeckel
3e15419bd4 target_sources: Restore toleration of duplicate CXX_MODULES sources
In commit 9c0491a3e4 (cmDyndepCollation: write out scanned source
information too, 2024-03-25) via !9708, the `sf_map` gained a new job of
also being used to track non-file set sources which could import
modules. This was implemented by removing processed `FILE_SET TYPE
CXX_MODULES` sources from the map and working with the sources
remaining. When a `FILE_SET TYPE CXX_MODULES` source appeared multiple
times, this would then erroneously complain that it "was not scheduled
for compilation". Use a set of source paths to track sources that have
already been processed. If duplicates are found, trigger an author
warning and skip the duplicate file.

Fixes: #26549
2025-01-09 22:36:06 +01:00
Brad King
6d9ab7964d cmake: Restore finding installed resources in their real path
In commit 0994bc7929 (cmake: Preserve symlinks in references to itself
when possible, 2024-11-11) we stopped looking for resources using the
real path of the directory containing `cmake`.  Restore it as a fallback
to support layouts like `/{bin -> usr/bin}/cmake`.

Fixes: #26570
2025-01-09 16:23:54 -05:00
Alex Turbov
b65930a7a7 Fortran: Add Fortran_BUILDING_INTRINSIC_MODULES for building intrinsics
In commit fe3f846e1b (Makefiles: Add support for building Fortran
intrinsics, 2020-11-19, v3.22.0-rc1~565^2) the property was added with
incorrect spelling `Fortran_BUILDING_INSTRINSIC_MODULES`.  Add a new
property with the correct spelling.  Keep the old one for compatibility.

Issue: #21463
2025-01-09 15:30:00 -05:00
Brad King
a6b84a438f GenEx: Revert "Limit TARGET_PROPERTY transitive closure optimization"
Revert commit 4a11772618 (GenEx: Limit TARGET_PROPERTY transitive
closure optimization to subgraphs, 2024-05-31, v3.31.0-rc1~114^2).
The change caused substantial performance regressions in some
existing use cases.  Revert it pending further investigation.

Issue: #25728
Fixes: #26457
2025-01-09 11:56:20 -05:00
Cristiano Carvalheiro
7d28005244 Xcode: Support for test action 'Build Configuration' scheme property
Also allow scoped property checking on Xcode scheme tests to
 be able to distinguish between launch and test actions build config.
2025-01-09 16:36:33 +00:00
Lauri Vasama
6c187aae3b VS: Fix VS_SOLUTION_ITEMS for absolute paths
This was missed in commit 0bb13ba0e6 (VS: Add support for Visual Studio
solution items, 2024-10-27).

Fixes: #26593
2025-01-09 11:29:32 -05:00
Tim Blechmann
339c2b886a cmSystemTools: Add RandomNumber method that avoid re-seeding from OS
When profiling Qt builds on macos, about 2.2% of a `cmake` invocation
was spent reading from `/dev/urandom`.  Use a (thread)local rng to
mitigate this cost, particularly in `cmGeneratedFileStreamBase::Open`.
2025-01-09 11:17:20 -05:00
Brad King
52b31ff751 Merge topic 'multi-format-export'
c8997fc046 export: Allow depending on targets exported multiple times
7b553a3b1d cmExportInstallFileGenerator: Report errors with IssueMessage
6195cefcfe export: Convert ExportInfo to a struct with meaningful field names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10114
2025-01-09 10:57:43 -05:00
Brad King
519738a5b6 Merge topic 'vs-fix-project-imports-for-sdk-style-projects'
3e88e9b4b3 VS: DOTNET_SDK support for VS_PROJECT_IMPORT target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10149
2025-01-09 10:49:48 -05:00
Brad King
ac54f5d50d Merge topic 'patch-found-var'
1a8e43d57d FindPackageHandleStandardArgs: Clarify the FOUND_VAR option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10134
2025-01-09 10:44:01 -05:00
Matthew Woehlke
8843407d52 cmPackageInfoReader: Improve warning messages
Adjust some warning messages to quote information that comes from the
file(s) being read.
2025-01-09 10:23:01 -05:00
Matthew Woehlke
5fb1726761 cmPackageInfoReader: "Fix" handling of "includes"
Rewrite how cmPackageInfoReader parses "includes" to also support
language-specific includes (i.e. map-of-string-to-list-of-string).
Previously, we only supported the simpler list-of-string shorthand for
"includes" that do not have any language-specific includes.
2025-01-09 10:23:01 -05:00