Commit Graph

8673 Commits

Author SHA1 Message Date
Craig Scott 1398ef18c2 Help: Add missing backtrace property to compileCommandFragments
Fixes: #27030
2025-07-04 10:34:32 +10:00
Craig Scott 74d70d13cd Help: Fix repeated word in file API docs for sourceFileExtensions 2025-07-04 10:31:34 +10:00
Brad King 62c8d7207b Merge topic 'doc-cmake_path'
41488e0c41 Help: Fix cmake_path examples

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10923
2025-07-03 12:58:32 -04:00
xndcn 41488e0c41 Help: Fix cmake_path examples 2025-07-02 09:54:18 -04:00
Brad King b10daadd08 Deprecate Visual Studio 14 2015 generator
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2025-06-26 09:27:24 -04:00
Brad King 3faa92ec71 Merge topic 'doc_undefined_mods'
46279eff38 Help: Document cases of variables modification having undefined behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10903
2025-06-26 09:09:38 -04:00
Brad King 6d30bda5b9 Merge topic 'more-cps-metadata'
755a24ccae CPS: Add export support for [default_]license
fba540daf6 project: Add SPDX_LICENSE argument
f0b419c473 Help: Tweak project DESCRIPTION documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10894
2025-06-26 09:05:52 -04:00
Dan Raviv 46279eff38 Help: Document cases of variables modification having undefined behavior 2025-06-24 08:47:41 -07:00
Brad King 6a0c2f0050 Merge topic 'fix-typo-found-by-sphinx-lint'
45b374234a Help: fix typo found by the `sphinx-lint` plugin of `pre-commit`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10896
2025-06-23 09:36:37 -04:00
Brad King c8cc5637b2 Merge topic 'fix-typo-found-by-sphinx-lint' into release-4.1
45b374234a Help: fix typo found by the `sphinx-lint` plugin of `pre-commit`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10896
2025-06-23 09:36:36 -04:00
Alex Turbov 45b374234a Help: fix typo found by the sphinx-lint plugin of pre-commit 2025-06-20 14:26:39 -04:00
Matthew Woehlke 755a24ccae CPS: Add export support for [default_]license
Add `LICENSE` and `DEFAULT_LICENSE` arguments to the `PACKAGE_INFO`
modes of the `install` and `export` commands. If not otherwise
specified, the `LICENSE` will be taken from the project's
`SPDX_LICENSE`, if available.
2025-06-20 14:01:25 -04:00
Matthew Woehlke fba540daf6 project: Add SPDX_LICENSE argument
Add an argument to the `project` command to allow specifying a license
for a project as a whole. This is in addition to specifying licenses on
individual targets, and will be used to set the license(s) on exported
packages.

Also, move listing of `COMPAT_VERSION` variables to follow
lexicographical order.
2025-06-20 14:01:25 -04:00
Matthew Woehlke f0b419c473 Help: Tweak project DESCRIPTION documentation
Replace the 'project-description-string' descriptor in the `project`,
`export` and `install` commands with 'description-string'. This is more
consistent, as none of the other descriptors include 'project-', and
it's arguably wrong in the context of `export`/`install`, as the
description applies to a package.
2025-06-20 14:01:25 -04:00
Brad King f19c3b8be6 Merge topic 'COMPILER_LINKER-GenEx'
60fb5a5792 GenEx: add expressions related to linker

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10888
2025-06-20 13:48:17 -04:00
Brad King 4fd8f96c26 Merge topic 'improve-project-doc'
1cd8c8f02a Help: Mention use of project() variables in packages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10895
2025-06-20 13:47:12 -04:00
Matthew Woehlke 1cd8c8f02a Help: Mention use of project() variables in packages
The `project` command mentions that it sets variables "intended for use
as default values in package metadata". Add a sentence that the
`install` and `export` commands actually do so for CPS. Also add
`COMPAT_VERSION` to the list of relevant options.
2025-06-19 10:34:46 -04:00
Brad King 48d382fd17 Merge topic 'find_package-deterministic-order'
61d8fae116 find_package: Use deterministic search order by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10882
2025-06-19 10:30:44 -04:00
Marc Chevrier 60fb5a5792 GenEx: add expressions related to linker
Introduce the following genex:
* <LANG>_COMPILER_LINKER_ID
* <LANG>_COMPILER_LINKER_FRONTEND_VARIANT

Fixes: #26991
2025-06-19 16:11:17 +02:00
Moritz Haase 61d8fae116 find_package: Use deterministic search order by default
Historically, find_package() does not guarantee the order in which directories
matching a search path containing a glob expression are processed in - the
"first valid package" will be selected if there are multiple candidates. In such
cases, which package is chosen is completely random and can change, potentially
leading to build failures and reproducibility issues. This is rather unexpected
and confusing for developers.

Now that CMake has bumped its major version, it's a good time to change default
sort order and direction could be changed to natural sorting with a descending
order. That will result in the newest version of a library being picked in case
there are multiple ones available.
2025-06-18 06:34:59 +02:00
Quinn Powell 96d9b94a98 Emscripten: Add platform modules
Issue: #18423
2025-06-17 15:07:45 -04:00
Brad King 7b4a7a91eb Begin post-4.1 development 2025-06-17 10:58:36 -04:00
Brad King 29f34383f4 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2025-06-17 10:54:00 -04:00
Brad King c00896a7f5 Help: Organize and revise 4.1 release notes
Add section headers similar to the 4.0 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2025-06-17 09:46:48 -04:00
Brad King f841c65b53 Help: Consolidate 4.1 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/$ver.rst`.
2025-06-17 09:39:03 -04:00
Brad King 50bd58c352 Merge topic 'doc-generator-xrefs'
98837b42c3 Help: minor reference and markup fixes
b634998727 Help: add and make references to generators consistent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10877
2025-06-17 09:10:23 -04:00
Brad King 0ee7472f2a Merge topic 'fix-CMAKE_PROJECT_COMPAT_VERSION-doc'
1105932871 Help: Fix CMAKE_PROJECT_COMPAT_VERSION documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10876
2025-06-17 08:59:21 -04:00
Vito Gamberini d71b59a4f7 install(TARGETS): Don't ignore non-extant file sets
When installing FILE_SETs, it is possible the FILE_SET has not yet been
created with target_sources(FILE_SET). Instead of ignoring this
situation, we need to track the installed FILE_SET names and their
possible install destinations.

At generation time we resolve the names and destinations concretely. If
a FILE_SET wasn't provided or isn't an INTERFACE, we silently bail out.

Fixes: #26697
2025-06-12 16:58:11 -04:00
Ben Boeckel 98837b42c3 Help: minor reference and markup fixes 2025-06-12 21:25:24 +02:00
Ben Boeckel b634998727 Help: add and make references to generators consistent 2025-06-12 21:25:24 +02:00
Matthew Woehlke 1105932871 Help: Fix CMAKE_PROJECT_COMPAT_VERSION documentation
Fix a minor error in the explanatory example in the documentation of the
CMAKE_PROJECT_COMPAT_VERSION property.
2025-06-12 14:08:18 -04:00
Brad King e84aaa27af Merge branch 'release-4.0' 2025-06-12 11:02:10 -04:00
Brad King 79e82f371c CMake 4.0.3 2025-06-12 10:31:35 -04:00
Brad King 3677389eaf Merge branch 'release-3.31' 2025-06-12 10:22:49 -04:00
Brad King 7e0388220f Merge branch 'release-3.31' into release-4.0 2025-06-12 10:22:32 -04:00
Brad King dbe9d4593f CMake 3.31.8 2025-06-12 09:51:05 -04:00
Brad King 7dba72f9d1 Merge topic 'suppress-implicit-find-events'
c42d82d569 find_*: support suppressing implicit transition events
64f429cc4f Help/dev: add release note for implicit configure log find events
4cd83339f1 cmFindCommon: fix comment after renaming the `FullDebugMode` member

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10874
2025-06-12 09:49:16 -04:00
Brad King c1a6a7eb6f Merge topic 'update-COMPAT_VERSION-variables-help'
a0cfaaf2dc Help: Note when `<project>_COMPAT_VERSION` were added

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10872
2025-06-12 09:48:09 -04:00
Ben Boeckel c42d82d569 find_*: support suppressing implicit transition events
When projects explicitly unset variables, the transition detection can
end up reporting events when they are not desired.

See: #24833
2025-06-11 20:09:32 +02:00
Ben Boeckel 64f429cc4f Help/dev: add release note for implicit configure log find events 2025-06-11 20:07:34 +02:00
Brad King 00cb41c2b2 Merge branch 'release-3.30' 2025-06-11 11:56:47 -04:00
Brad King aa221870c7 Merge branch 'release-3.31' into release-4.0 2025-06-11 11:56:25 -04:00
Brad King a26c23a7e0 Merge branch 'release-3.30' into release-3.31 2025-06-11 11:56:14 -04:00
Matthew Woehlke a0cfaaf2dc Help: Note when <project>_COMPAT_VERSION were added
Tweak documentation of project `_COMPAT_VERSION` variables to note when
they were added. Note that, while these are "experimental" for  now,
they are always set; the experimental gate is only required for them to
be set to non-empty values (and since they are optional, they may be
empty regardless).
2025-06-11 11:08:28 -04:00
Brad King 50aa13cc5a CMake 3.30.9 2025-06-11 10:46:07 -04:00
Brad King b59925a842 Merge topic 'xcode-build-workspace'
844d79916a cmake --build: Add support for driving Xcode workspaces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10855
2025-06-11 10:26:54 -04:00
Stepanov Igor 844d79916a cmake --build: Add support for driving Xcode workspaces
External tools may create a `.xcworkspace` directory next to the
`.xcodeproj` directory that CMake generates.  If a workspace exists,
drive the build through it instead.

Closes: #26958
Co-authored-by: Brad King <brad.king@kitware.com>
2025-06-10 11:08:04 -04:00
Brad King 7d5831424b Merge topic 'ctest-show-only-json-schema'
2e7bca5f05 ctest: Add JSON schema for --show-only=json-v1 output
fe1cd4e157 Help: Make docs for ctest --show-only=json-v1 reflect the implementation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10865
2025-06-10 10:00:58 -04:00
Craig Scott 2e7bca5f05 ctest: Add JSON schema for --show-only=json-v1 output
Add schema validation to the existing test case for --show-only=json-v1 too.

Fixes: #26980
2025-06-10 07:12:31 +10:00
Craig Scott fe1cd4e157 Help: Make docs for ctest --show-only=json-v1 reflect the implementation
In elements of the backtraceGraph->nodes array, all but the `file` field
are optional. The documentation implied all fields were mandatory by
not mentioning any of them as optional. Update the docs to make the
optional nature explicit. Use the corresponding documentation for the
CMake file API as a guide for the updated text.

The tests array was also lacking accuracy for which fields were optional
and the tests->properties array didn't specify the type of items that the
array could hold. The explanation for the "config" item was also wrong,
since it always holds the value of the -C option given to ctest. Fix and
expand the docs to address these cases as well.

Fixes: #26965
Issue: #26986
2025-06-07 18:23:59 +10:00