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
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.
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.
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
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
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
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
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: #25728Fixes: #26457
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`.
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
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.
Rewrite cmPackageInfoReader's parsing of the "definitions" attribute.
The old logic (having been originally adapted from proof-of-concept
parsing code circa 2023) was parsing the attribute according to its
specification as of CPS 0.11, but the representation was changed in
CPS 0.12. Add a test to verify that definitions are being imported
correctly. Remove unnecessary setting and resetting of CMAKE_PREFIX_PATH
in the test.