Commit Graph

8523 Commits

Author SHA1 Message Date
Brad King
9f7179793b Merge topic 'build-graph-opt-docs' into release-4.1
fac5e622b7 Help/OPTIMIZE_DEPENDENCIES: xref with CMP0154 documentation
03f5ffa2ca Help/OPTIMIZE_DEPENDENCIES: move period outside of parenthetical

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11275
2025-10-02 13:56:25 -04:00
Ben Boeckel
fac5e622b7 Help/OPTIMIZE_DEPENDENCIES: xref with CMP0154 documentation
Closes: #27250
2025-09-30 22:59:04 -04:00
Ben Boeckel
03f5ffa2ca Help/OPTIMIZE_DEPENDENCIES: move period outside of parenthetical
The preceding sentence needs a terminator.
2025-09-30 22:58:34 -04:00
Brad King
98961a7dd4 Merge branch 'release-4.0' into release-4.1 2025-09-24 14:07:54 -04:00
Brad King
a2faa7af28 Merge branch 'release-3.31' into release-4.0 2025-09-24 14:07:42 -04:00
Brad King
622044ce33 CMake 3.31.9 2025-09-24 13:24:34 -04:00
Brad King
deb7b4b658 file(GENERATE): Record CMP0189 at each call site
Policy CMP0189, introduced by commit b3da9c6d60 (GenEx: Evaluate
LINK_LIBRARIES target properties transitively, 2025-02-24,
v4.1.0-rc1~731^2), takes effect at generation time, and so uses the
policy value as of the end of each directory.  However, some projects
may rely on `file(GENERATE)` with the policy's OLD behavior in order
to extract targets' *direct* dependencies from `LINK_LIBRARIES`.
Pending a first-class solution to that problem, make it easier for
projects to port to the policy's NEW behavior in general while
retaining the OLD behavior in an isolated context.

Fixes: #27220
2025-09-23 11:30:22 -04:00
Brad King
e8d779c935 Help: Document when policy CMP0189 takes effect
This was left out of commit b3da9c6d60 (GenEx: Evaluate LINK_LIBRARIES
target properties transitively, 2025-02-24, v4.1.0-rc1~731^2).

Issue: #27220
2025-09-22 15:21:05 -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 2025-09-08 14:51:44 -04:00
Brad King
ba8c4a15f1 CMake 4.1.1 2025-08-27 12:33:28 -04:00
Brad King
21e99dbf49 install(DIRECTORY): Revert "Add EXCLUDE_EMPTY_DIRECTORIES option"
Revert commit b70ef48b27 (install(DIRECTORY): Add
EXCLUDE_EMPTY_DIRECTORIES option, 2025-04-20, v4.1.0-rc1~212^2).
The implementation had at least two problems:

* It did not exclude the top-level directory if empty.
* It did not exclude non-empty directories whose contents are
  all filtered out.

Revert the feature pending a revised implementation.

Issue: #19189
Closes: #27092
2025-07-28 14:21:09 -04:00
Hirofumi Nakamura
d95135b9cd Help: Add 4.1 release note for Renesas compiler support
This was missed in commit 514135f563 (Renesas: Add support for Renesas
compilers, 2025-04-14, v4.1.0-rc1~89^2).

Issue: #26880
2025-07-24 10:33:52 -04:00
Craig Scott
da73f6b058 Help: Add cxxModuleBmi details missing from file API and release notes
Fixes: #27028
2025-07-04 11:01:15 +10:00
Craig Scott
bef17abc09 Help: Add file API fileSet... fields missed in the 3.23 release notes 2025-07-04 10:34:33 +10:00
Craig Scott
094436db98 Help: The fileSets item in a codemodel target object is optional 2025-07-04 10:34:32 +10:00
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
xndcn
41488e0c41 Help: Fix cmake_path examples 2025-07-02 09:54:18 -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
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
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