Commit Graph

2782 Commits

Author SHA1 Message Date
Brad King
80cd036ceb Merge topic 'instrumentation-fix-link'
2678028eab Help/instrumentation: Fix link to CMake Content File

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11346
2025-10-24 17:13:22 -04:00
Tyler Yankee
2678028eab Help/instrumentation: Fix link to CMake Content File
Fix typo from commit 97adbc91fa (instrumentation: Move target data into
content files, 2025-09-25, v4.2.0-rc1~49^2).
2025-10-23 15:30:09 -04:00
Brad King
6dfe90c0b2 Merge topic 'fbuild_ide_args'
31b51340a1 FASTbuild: allow setting custom IDE args

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11319
2025-10-20 13:46:08 -04:00
Eduard Voronkin
31b51340a1 FASTbuild: allow setting custom IDE args
Allow users to set custom args
when FBuild is invoked via IDE.
2025-10-17 10:16:14 -04:00
Brad King
bf086d337a Merge topic 'doc-cmake_path'
c575d84555 Help: Use signature directive for `cmake_path` command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11294
2025-10-10 10:24:26 -04:00
Brad King
3f87b4d5d8 Merge topic 'doc-cmake_path' into release-4.2
c575d84555 Help: Use signature directive for `cmake_path` command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11294
2025-10-10 10:24:24 -04:00
Brad King
3cf002e2db Begin post-4.2 development 2025-10-09 10:27:29 -04:00
Martin Duffy
f195c9ef2a genex: Add TARGET_INTERMEDIATE_DIR expression
Fixes: #27196
2025-10-09 08:07:20 -04:00
Tyler Yankee
c575d84555 Help: Use signature directive for cmake_path command
Using `signature` renders the anchor links for each sub-command, and is
consistent with the other `Help/command` pages which contain multiple
sub-commands.
2025-10-08 20:44:38 -04:00
Craig Scott
f38f325e08 fileAPI: Add direct dependencies to target codemodel files
This adds the following new arrays, which together capture all direct
dependencies and interface dependencies of a target:

- linkLibraries
- interfaceLinkLibraries
- compileDependencies
- interfaceCompileDependencies
- objectDependencies
- orderDependencies

Fixes: #21995, #25213
2025-10-07 10:44:28 -04:00
AJIOB
6874efb592 MSVC: Always define a character set
When targeting the MSVC ABI, define `_MBCS` by default if the project
does not define `_SBCS` or `_UNICODE`.  Visual Studio has long defined
one of the three character set macros automatically.  For consistency,
define it when compiling for the MSVC ABI with other generators.
Add policy CMP0204 for compatibility.

Fixes: #27275
2025-10-07 09:29:32 -04:00
Brad King
0d01bc72b8 Merge topic 'cps-symbolic-info'
62a1d3e7f1 FileAPI: Add symbolic property to targets
d92b6c3e20 CPS: Add Symbolic Components
03284e018f Help: Simplify file-api version information for "abstract" field

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11132
2025-10-03 11:24:50 -04:00
Brad King
caf01b88bc Merge topic 'instrumentation-target-content'
97adbc91fa instrumentation: Move target data into content files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11251
2025-10-03 11:21:17 -04:00
Brad King
0599d7e606 Merge topic 'doc-polish'
6babe38916 Help: Fix cmake_language(TRACE) command anchor
7aa81ae324 Help: Simplify release notes for find module version variables
09aded59f7 Help: Revise CMP0201 documentation using typical wording conventions
f98b4eecf6 Help: Document generators supporting CMAKE_INTERMEDIATE_DIR_STRATEGY
fe9fd66a8e Help: Improve CPack/WiX documentation markup

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11276
2025-10-02 13:52:22 -04:00
Brad King
731ba7cf39 Merge topic 'doc-interface-libraries'
e3a1a688ea Help: Clarify property names allowed on interface libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11274
2025-10-02 13:50:32 -04:00
Taylor Sasser
62a1d3e7f1 FileAPI: Add symbolic property to targets 2025-10-02 10:46:16 -04:00
Taylor Sasser
d92b6c3e20 CPS: Add Symbolic Components
Adds support for "symbolic" components, which represent feature-level
capabilities of a package that do not correspond to actual build targets.
These are modeled as pseudo-targets, using the INTERFACE type as a base,
and can be queried via:

  get_target_property(... <tgt> "SYMBOLIC")

This enables consumers to declare requirements on optional features
(e.g., SSL support) even when they do not map to concrete targets.

Fixes: #27187
2025-10-02 10:46:02 -04:00
Martin Duffy
97adbc91fa instrumentation: Move target data into content files
Create a single place to store target data to prevent duplication.
This moves `targetType` and `targetLabels` out of the snippet files
and into a target map in the `cmakeContent` file referenced by each
snippet.

Fixes: #27244
2025-10-02 09:28:20 -04:00
Brad King
03284e018f Help: Simplify file-api version information for "abstract" field 2025-10-01 09:35:47 -04:00
Brad King
09aded59f7 Help: Revise CMP0201 documentation using typical wording conventions 2025-10-01 09:23:32 -04:00
Brad King
bef873755b Merge topic 'define-windll'
83bbde5449 MSVC: Define _WINDLL consistently for shared libraries
206fcbb392 Tests/RunCMake/FileAPI: Fix whitespace in codemodel-v2 expectation data

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11194
2025-10-01 09:18:05 -04:00
Brad King
e3a1a688ea Help: Clarify property names allowed on interface libraries
Replace the explicit list of common `INTERFACE_*` property names
with links to the dedicated sections listing usage requirements.

Restore documentation of the pre-3.19 restrictions on property names,
previously removed by commit afb998704e (Remove filtering of allowed
INTERFACE library properties, 2020-07-14, v3.19.0-rc1~346^2~2).

Issue: #27271
2025-09-30 20:18:47 -04:00
Brad King
ec0cf06316 Merge topic 'instrumentation-always-record-build'
e730008d7e instrumentation: Record build snippets regardless of hooks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11255
2025-09-30 10:05:02 -04:00
AJIOB
83bbde5449 MSVC: Define _WINDLL consistently for shared libraries
Visual Studio defines this automatically for `.dll` targets.
For consistency, define it when compiling for the MSVC ABI
with other generators.  Add policy CMP0203 for compatibility.

Fixes: #27253
2025-09-29 18:26:44 -04:00
Brad King
5291c17310 Merge topic 'instrumentation-load-null'
11f67d416a instrumentation: Use null when CPU load is unknown

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11248
2025-09-29 09:23:03 -04:00
Brad King
e49de5d5d6 Merge topic 'fileapi-interface-and-imported-targets'
b626843d71 fileAPI: Output all INTERFACE and IMPORTED targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11232
2025-09-29 09:21:45 -04:00
Martin Duffy
e730008d7e instrumentation: Record build snippets regardless of hooks 2025-09-26 15:55:08 -04:00
Tyler Yankee
11f67d416a instrumentation: Use null when CPU load is unknown 2025-09-26 10:16:32 -04:00
Brad King
441b1ebe75 Merge topic 'patch-found-variables'
0fedf1592c Find*: Update *_FOUND variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11220
2025-09-26 09:58:27 -04:00
Brad King
48957f9e16 Merge topic 'instrumentation-more-snippet-data'
2fdd1e787f instrumentation: Additional data in custom, install and link snippets
3db07b0189 cmInstallScriptHandler: Refactor to store config and path for each command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11241
2025-09-26 09:34:20 -04:00
Brad King
6e1de32c9d Merge topic 'pdb-postfix'
7a154bf4fd GenEx: Add POSTFIX option to $<TARGET_PDB_FILE_BASE_NAME>
5654207925 PDB: Always add the target per-config POSTFIX to .pdb names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11235
2025-09-26 09:26:49 -04:00
Craig Scott
b626843d71 fileAPI: Output all INTERFACE and IMPORTED targets
Fixes: #27248
2025-09-26 22:01:45 +10:00
Marc Chevrier
7a154bf4fd GenEx: Add POSTFIX option to $<TARGET_PDB_FILE_BASE_NAME>
Extend commit 0b055a8893 (GenEx: add POSTFIX option to
$<TARGET_FILE_BASE_NAME>, 2025-09-07) to cover PDB names too.
2025-09-25 11:02:44 +02:00
Marc Chevrier
5654207925 PDB: Always add the target per-config POSTFIX to .pdb names
Manage the POSTFIX target property in the same way as other artifacts
names.  Add policy CMP0202 for compatibility.

Fixes: #27206
2025-09-25 11:00:39 +02:00
Martin Duffy
2fdd1e787f instrumentation: Additional data in custom, install and link snippets
- Include `config` in all `install` and `custom` snippets
- Include `target` for `custom` snippets where applicable
- Document and test inclusion of `language` in `link` snippets

Issue: #27244
2025-09-24 16:39:09 -04:00
Brad King
f1e883fbf2 Merge topic 'instrumentation-content-lifetime'
b8014633dc Experimental: Update the Instrumentation UUID
ba3c278da2 instrumentation: Don't remove content files older than an index
4683db44a1 instrumentation: Write index files to data/index/ subdirectory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11216
2025-09-24 08:50:42 -04:00
Peter Kokot
0fedf1592c Find*: Update *_FOUND variables
This marks all `<PACKAGENAME>_FOUND` result variables as deprecated
where possible (for `<PackageName>` find modules) to make it clearer
which variable to use.

In CMake 3.3, the FindPackageHandleStandardArgs module was refactored to
set both `<PackageName>_FOUND` and uppercase `<PACKAGENAME>_FOUND`
result variables to the same values. Before that, the FOUND_VAR argument
could be used to set the result variable.

* FindMatlab: Uppercased MATLAB_FOUND is not mentioned as it was never
  documented.
* Documentation for FindPythonInterp and FindPythonLibs modules synced
  accordingly to their deprecation (3.12 instead of 4.2).
* OPENGL_FOUND: deprecation version synced with other find modules.
* DevIL_FOUND was introduced in CMake 3.8. The uppercased variant not
  mentioned as it was previously never documented.

Fixes: #27242
2025-09-23 21:40:58 +02:00
Marc Chevrier
0b055a8893 GenEx: add POSTFIX option to $<TARGET_FILE_BASE_NAME>
Fixes: #27189
2025-09-23 00:19:53 +02:00
Martin Duffy
4683db44a1 instrumentation: Write index files to data/index/ subdirectory 2025-09-19 11:29:03 -04:00
Eduard Voronkin
99839d1158 FASTBuild: expose more options
Expose more options for compiler configuration as well as adding unit test
2025-09-17 10:49:27 -07:00
Brad King
c325904eb1 Merge topic 'vs2026'
47c784ba8a Help: Add release note for Visual Studio 18 2026 generator
cd46d8ec84 Merge branch 'backport-vs2026' into vs2026
3392b371e2 VS: Add Visual Studio 18 2026 generator
7f0883ac04 VS: Remove unused generator code
6f0d245083 VS: Fix `/dynamicdeopt` flag table entry order for v145 toolset
398ce8af72 VS: Remove `/guard:cf` from v145 link flag table
5c9085d876 VS: Remove `/MERGE` from v145 link flag table
fe5c78310c VS: Map the link `/debug` flag for v145 toolset
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11168
2025-09-16 09:00:10 -04:00
Brad King
cd46d8ec84 Merge branch 'backport-vs2026' into vs2026 2025-09-15 11:33:57 -04:00
Brad King
3392b371e2 VS: Add Visual Studio 18 2026 generator
Closes: #27213
2025-09-15 11:31:02 -04:00
Ben Boeckel
2b85541e39 cxximportstd: support setting the import std metadata location
Some deployments may not be able to discover the metadata file reliably
(e.g., custom `clang` builds on macOS while using the SDK's stdlib or
distribution bugs). Allow users to force the location so that
compiler-driven detection doesn't have to bend over backwards for
unforeseen bugs.
2025-09-11 18:03:00 -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
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
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