Commit Graph

71971 Commits

Author SHA1 Message Date
Alexander Grund 2adfa8b0d4 Help: Fix version added for CMAKE_MATCH_<n>
This was added in 2.6.0 by commit c1b3484c2d (ENH: store the matches for
paren-delimited subexpression..., 2007-08-21, v2.6.0~1227), not in 3.9.

Only the documentation at this place was added in 3.9, by commit
eb08e1febb (Help: Document CMAKE_MATCH_<n> variables, 2017-04-18,
v3.9.0-rc1~257^2)
2025-09-11 13:09:18 -04:00
Kitware Robot 50e5040cda CMake Nightly Date Stamp 2025-09-11 00:05:14 -04:00
Brad King 29633b2f81 Merge topic 'ninja-status-unset-configure'
b5e06311c0 Ninja: Avoid non-standard output from `ninja` during `try_compile`
fe0e2fcaff ScopedEnv: add a RAII helper to temporarily manipulate the environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !11143
2025-09-10 10:06:49 -04:00
Brad King 042b88e3f4 Merge topic 'object-name-properties'
b53837a1bd prop_sf/INSTALL_OBJECT_NAME: support custom install object names
08f1a0fbc6 cmLocalGenerator: get the configuration when building object paths
168e55be41 cmObjectLocation: support install-specific object locations
84372ce0b5 prop_sf/OBJECT_NAME: no-op for the FASTBuild and Xcode generators
9ef99353cb prop_sf/OBJECT_NAME: support custom object names
7aff0d37b5 cmSourceFile: add accessors for PCH source files
bbdc2fd908 cmSourceFile: internally track CMake-managed source files
388923818d cmGeneratorTarget: return the source file added
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11144
2025-09-10 10:01:47 -04:00
Brad King b768431138 Merge topic 'instrumentation-doc-format'
515be042e2 Help/instrumentation: Improve formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11163
2025-09-10 09:56:04 -04:00
Brad King e0a9bbfc23 Merge topic 'target-SKIP_LINTING'
f100769d72 Add `SKIP_LINTING` target property and `CMAKE_SKIP_LINTING` variable
0d6b5d54b2 Tests/RunCMake/MultiLint: Extract test preparation code into separate file
3a21092d75 Tests/RunCMake/MultiLint: Refactor test runs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11139
2025-09-10 09:53:48 -04:00
Kitware Robot 082071203f CMake Nightly Date Stamp 2025-09-10 00:05:08 -04:00
Ben Boeckel b53837a1bd prop_sf/INSTALL_OBJECT_NAME: support custom install object names
These can support configuration-dependent queries much more easily, so
separate it out.
2025-09-09 09:58:07 -04:00
Ben Boeckel 08f1a0fbc6 cmLocalGenerator: get the configuration when building object paths
Install locations can be per-configuration, so this information is
necessary for this call. Plumb it through; usage will follow in the next
commit.
2025-09-09 09:58:07 -04:00
Ben Boeckel 168e55be41 cmObjectLocation: support install-specific object locations
This will be used to implement custom install object paths. These can
support per-configuration values much more easily as it is
generator-agnostic.
2025-09-09 09:58:07 -04:00
Ben Boeckel 84372ce0b5 prop_sf/OBJECT_NAME: no-op for the FASTBuild and Xcode generators
There's no control over the object base name implemented in the
FASTBuild generator. Rather than expecting some half-supported behavior,
just ignore it completely there.

Similarly, Xcode ends up making its own object paths internally
regardless of what CMake would like.
2025-09-09 09:58:07 -04:00
Ben Boeckel 9ef99353cb prop_sf/OBJECT_NAME: support custom object names
Projects which ship object files as artifacts may want to control the
object names as much as possible. Support setting explicit object names
as source file properties to support such use cases.
2025-09-09 09:58:07 -04:00
Alex Turbov f100769d72 Add SKIP_LINTING target property and CMAKE_SKIP_LINTING variable
These offer target-wide settings to disable lints.

Closes: #27191
2025-09-09 09:56:35 -04:00
Brad King 563e11b6fd Merge topic 'cmake#27203/add-NDEBUG-GHS'
7493bc6d4a GHS C/CXX compiler: add NDEBUG compile define for non-debug aka release builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11158
2025-09-09 09:53:10 -04:00
Brad King 526b32ccc0 Merge topic 'c++23-ambiguous-overload'
9fac84dd7f cmStringAlgorithms: Fix C++23 ambiguous overload error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11155
2025-09-09 09:50:50 -04:00
Brad King c81e96d80c Merge topic 'CheckCompilerFlag-no-newlines'
993794f5f6 CheckCompilerFlag: Avoid matching parts of multiple messages
c196e024bd CheckCompilerFlag: Improve layout of message regex tables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11161
2025-09-09 09:48:37 -04:00
Brad King 990301452b Merge branch 'release-4.1' 2025-09-09 09:45:35 -04:00
Brad King f32b6ae8f2 Merge topic 'iar-asm'
87d95b2222 ASM: Restore CMAKE_ASM_COMPILER_ARCHITECTURE_ID persistence

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11160
2025-09-09 09:45:34 -04:00
Brad King 9523d66df2 Merge topic 'iar-asm' into release-4.1
87d95b2222 ASM: Restore CMAKE_ASM_COMPILER_ARCHITECTURE_ID persistence

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11160
2025-09-09 09:45:32 -04:00
Brad King 517214ed9b Merge topic 'typos-1.36.1'
8fb6449275 ci: Update to typos 1.36.1 in Fedora base image
49e05f9569 pre-commit: bump to typos 1.36.1
20e19a713d Source: Fix typo discovered by typos 1.36.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11150
2025-09-09 09:43:31 -04:00
Kitware Robot ea2069bf9d CMake Nightly Date Stamp 2025-09-09 00:05:11 -04:00
John Drouhard b5e06311c0 Ninja: Avoid non-standard output from ninja during try_compile
We sometimes parse the output from `ninja` during `try_compile`. Avoid
unexpected characters.

Fixes: #19316
2025-09-08 16:22:58 -05:00
John Drouhard fe0e2fcaff ScopedEnv: add a RAII helper to temporarily manipulate the environment 2025-09-08 16:22:58 -05:00
Brad King f2b9c01d0c Merge branch 'release-4.1' 2025-09-08 15:57:42 -04:00
Brad King f8608b020b Merge branch 'release-4.0' 2025-09-08 15:57:28 -04:00
Tyler Yankee 515be042e2 Help/instrumentation: Improve formatting
* Fix bullet points from commit bf52fbfbc4 (instrumentation: Add Google
trace output, 2025-08-28).
* Pluralize "v1 Snippet File" where applicable.
* Wrap long lines to <80 chars where applicable.
2025-09-08 15:57:18 -04:00
Brad King e7fd2b3251 Merge branch 'release-4.0' into release-4.1 2025-09-08 15:57:08 -04:00
Brad King edd51d646c CMake 4.0.4 v4.0.4 2025-09-08 14:51:44 -04:00
Alex Turbov 8fb6449275 ci: Update to typos 1.36.1 in Fedora base image 2025-09-08 12:20:28 -04:00
Andreas Graf 7493bc6d4a GHS C/CXX compiler: add NDEBUG compile define for non-debug aka release builds
Fixes: #27203
2025-09-08 18:19:03 +02:00
Alex Turbov 49e05f9569 pre-commit: bump to typos 1.36.1 2025-09-08 12:17:47 -04:00
Alex Turbov 20e19a713d Source: Fix typo discovered by typos 1.36.1 2025-09-08 12:14:39 -04:00
Ben Boeckel 7aff0d37b5 cmSourceFile: add accessors for PCH source files
`cmLocalGenerator::GetObjectFileNameWithoutTarget` used a heuristic to
detect PCH sources. Use the new special source types to detect them
reliably instead.
2025-09-08 11:59:57 -04:00
Ben Boeckel bbdc2fd908 cmSourceFile: internally track CMake-managed source files
These source file types don't necessarily show up in the CMake code, but
are side effects of other behaviors in CMake. Support tracking them
specially so that heuristics are not required to figure out if a given
`cmSourceFile` is one of them.
2025-09-08 11:59:57 -04:00
Ben Boeckel 388923818d cmGeneratorTarget: return the source file added
A few callsites uses this codepath to generate `cmSourceFile` instances;
allow them to access it.
2025-09-08 11:59:57 -04:00
Ben Boeckel 43633440e9 gitlab-ci: fix nightly -> no-mr job dependencies 2025-09-08 11:59:57 -04:00
Ben Boeckel 232feec0b1 cmCMakePath: support constructing .end() iterators
Dereferencing the iterator must be avoided once it becomes the `.end()`
value. Check for iterator validity before updating the `PathElement`
member.
2025-09-08 11:59:56 -04:00
Ben Boeckel 53ba88b863 gitlab-ci: hide Intel Classic jobs from MRs
These jobs require secrets not available to merge request pipelines.
2025-09-08 11:59:56 -04:00
Ben Boeckel 99d48a842d cmLocalGenerator: fix comment typo 2025-09-08 11:59:56 -04:00
Brad King a3a3416bc1 Merge topic 'install-object-only-destination'
c1de3c72a3 install: support using `DESTINATION` as-is for object installation
cf44806e7c Help/CMAKE_INSTALL_OBJECT_NAME_STRATEGY: add `versionadded` directive

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11138
2025-09-08 11:32:05 -04:00
Brad King bf1841534c Merge topic 'cpack-several-checksums'
bc1c295b95 CPack: Add support for multiple checksums per package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11141
2025-09-08 11:29:34 -04:00
Brad King daf5cc56a0 Merge topic 'fbuild_clang_cl'
888e9e1081 FASTBuild: fix CMake build with clang-cl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11137
2025-09-08 11:25:51 -04:00
Brad King 5e34b752d6 Merge topic 'cmp0178-warning-googletest'
f4059c5923 GoogleTest: Prevent spurious CMP0178 warning for EXTRA_ARGS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11152
2025-09-08 11:23:58 -04:00
Brad King e6c24fe936 Merge topic 'cmp0174-warning-fetchcontent'
20c751bdcb FetchContent: Update policy settings to CMake 4.1
60b8114ea9 Help: Stronger wording for prohibited keywords in FetchContent_Declare()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11151
2025-09-08 11:22:07 -04:00
Brad King 993794f5f6 CheckCompilerFlag: Avoid matching parts of multiple messages
Diagnostic messages for unsupported flags appear on a single line.
Do not accidentally match unrelated messages across multiple lines.

Fixes: #27156
2025-09-08 11:16:09 -04:00
Brad King c196e024bd CheckCompilerFlag: Improve layout of message regex tables 2025-09-08 11:14:41 -04:00
Brad King 87d95b2222 ASM: Restore CMAKE_ASM_COMPILER_ARCHITECTURE_ID persistence
Refactoring in commit 019f0f8b32 (ARCHITECTURE_ID: Save persistently
even if empty, 2025-03-13, v4.1.0-rc1~499^2~1) accidentally dropped
part of the variable name in `CMakeASMCompiler.cmake`.

Reported-by: Felipe Torrezan <felipe.torrezan@iar.com>
2025-09-08 10:38:30 -04:00
Kitware Robot 522fe30232 CMake Nightly Date Stamp 2025-09-08 00:05:19 -04:00
Kitware Robot 97eac96b27 CMake Nightly Date Stamp 2025-09-07 00:13:42 -04:00
Ben Boeckel c1de3c72a3 install: support using DESTINATION as-is for object installation
CMake historically has forced an `objects[-<CONFIG>]/<TARGET_NAME>`
subdirectory under an `OBJECT` library installation's `OBJECTS
DESTINATION` which may be unwanted. Support skipping this component
with a target property.
2025-09-06 00:44:42 -04:00