Commit Graph

8504 Commits

Author SHA1 Message Date
Dennis Lambe Jr.
088b0af2f9 GoogleTest: Fix naming of tests with named parameters
Recent changes to the JSON and stdout parsers changed the current test
names from an unintentional bug to an intentional compatibility hack.
This commit removes that compatibility hack and makes tests with named
parameters follow the same naming conventions as tests with numbered
parameters.

Fixes: #26939
2025-07-08 07:58:35 +10:00
Ottmar Zittlau
3f780c3fde GoogleTest: Set DEF_SOURCE_LINE on tests if file and line are known
This information is available when --gtest_output=json is supported,
which it almost always is on GoogleTest >= 1.8.1.
2025-07-08 07:58:34 +10: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
Brad King
7fbd43c84c Merge topic 'cps-more-metadata'
da97747dac CPS: Support additional metadata
f224e131a5 CPS: Refactor metadata handling
7155903e53 cmExportPackageInfoGenerator: Fix style

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10856
2025-06-06 08:28:25 -04:00
Brad King
1824b771e9 Merge topic 'cpack-nuget-symbol-package'
e71396c8db CPack/NuGet: Enable the generation of NuGet symbol package(s)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10852
2025-06-06 08:22:00 -04:00
Brad King
91690cac34 Merge topic 'msvc-link-machine'
92d6126450 MSVC: Move link -machine flag out of CMAKE_*_LINKER_FLAGS
bb8baacbcc MSVC: Factor out link -machine flag name
4c6c7f4d45 MSVC: Move link -subsystem flag handling near and -machine flag handling
f1a80a5581 CUDA: Drop unused link rule variable setting on Windows
a0732ce47f CMAKE_STATIC_LINKER_FLAGS: Fix terminology in cache entry help string
53aab8acd6 Tests: Generalize test name RunCMake.MSVC{Warning => Default}Flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10849
2025-06-06 08:19:54 -04:00
Jens Carl
e71396c8db CPack/NuGet: Enable the generation of NuGet symbol package(s)
Enable the generation of NuGet symbol package(s) with the new variable
`CPACK_NUGET_SYMBOL_PACKAGE`. CPack generates then normal nuget package
(*.nupkg) and a symbol nuget package (*.snupkg). The new generate
package contains PDB files.

Fixes: #26976
2025-06-05 10:41:22 -04:00
Brad King
2299f09898 Merge topic 'FindCUDAToolkit-doc-links'
d8e9b1bbdf FindCUDAToolkit: Simplify internal documentation links
db9b79fb9b FindCUDAToolkit: Update documentation URLs
1049b0d9a5 FindCUDAToolkit: Fix documentation link to cuRAND section

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10859
2025-06-05 09:37:02 -04:00
Brad King
852c54fa52 Merge topic 'fix-project-compat_version-doc'
01f6067ce4 Help: Note when `project(COMPAT_VERSION)` was added

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10858
2025-06-05 09:36:08 -04:00
Brad King
92d6126450 MSVC: Move link -machine flag out of CMAKE_*_LINKER_FLAGS
The `CMAKE_{EXE,SHARED,MODULE,STATIC}_LINKER_FLAGS` variables are
not language-specific, so multiple languages' toolchains may disagree
about if/how to pass the flag through a compiler driver to the linker.
Furthermore, carrying the flag in public-facing variables allows projects
or users to change it even though it is required.  Add policy CMP0197
to remove the flag from the public-facing variables and generate it
automatically instead:

* For command-line generators, add the `-machine:` flag to the
  linker and archiver rule variables.

* For Visual Studio generators, we do not need to explicitly add the
  link `-machine:` flag.  MSBuild automatically adds it, and the new
  behavior actually removes a duplicate we generated previously.

Issue: #21934
2025-06-05 09:16:54 -04:00
Brad King
d8e9b1bbdf FindCUDAToolkit: Simplify internal documentation links 2025-06-04 19:40:04 -04:00
Craig Scott
ab184e453f Merge topic 'patch-FindGTest'
d8b8183425 FindGTest: Deprecate result variables and update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10760
2025-06-04 16:56:31 -04:00
Matthew Woehlke
01f6067ce4 Help: Note when project(COMPAT_VERSION) was added
Tweak documentation of `project()` to note when the (experimental for
now) `COMPAT_VERSION` argument was added.
2025-06-04 11:21:57 -04:00
Matthew Woehlke
da97747dac CPS: Support additional metadata
Add support for specifying CPS's supplemental `description` and
`website` attributes. Add ability to inherit these from the `project()`,
similar to how version information can be inherited.
2025-06-03 16:50:46 -04:00
Matthew Woehlke
ecf81c1bc1 CPS: Get metadata from project
Modify {export,install}(PACKAGE_INFO) commands to inherit version
information from the current project in situations where it seems
reasonable to do so. Add an option to explicitly request inheritance
from a specific project.

This leverages the recently added project(COMPAT_VERSION).
2025-06-02 10:31:36 -04:00
Brad King
e3b7a00af1 Merge topic 'patch-GNUInstallDirs'
535734ee16 GNUInstallDirs: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10846
2025-06-02 09:45:11 -04:00
Brad King
91cdfe6676 Merge topic 'linker-launcher'
cdf2a36f48 HIP: Add support for [CMAKE_]HIP_LINKER_LAUNCHER
77312cc636 CUDA: Add support for [CMAKE_]CUDA_LINKER_LAUNCHER

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10847
2025-06-02 09:02:46 -04:00
Peter Kokot
d8b8183425 FindGTest: Deprecate result variables and update documentation
This updates the module documentation and deprecates some result
variables in favor of using imported targets.

Changes:
- Synced module documentation with other similar find modules.
- Reworded and updated descriptions.
- Renamed "Cache Variables" to "Hints".
- Added info about config mode.
- Added separate section "Deprecated Items".
- Mention of Threads::Threads imported target removed.
2025-06-02 08:01:19 +10:00
Maximilian Sander
cdf2a36f48 HIP: Add support for [CMAKE_]HIP_LINKER_LAUNCHER
`CMAKE_<LANG>_LINKER_LAUNCHER` and `<LANG>_LINKER_LAUNCHER` are
already support for C, CXX, CUDA, OBJC, OBJCXX, and Fortran.  Add HIP.

Closes: #26967
2025-05-30 10:05:46 -04:00
Maximilian Sander
77312cc636 CUDA: Add support for [CMAKE_]CUDA_LINKER_LAUNCHER
`CMAKE_<LANG>_LINKER_LAUNCHER` and `<LANG>_LINKER_LAUNCHER` are
already support for C, CXX, OBJC, OBJCXX, and Fortran.  Add CUDA.

Issue: #26967
2025-05-30 10:00:18 -04:00
Brad King
26460454b7 Merge topic 'patch-CheckCompilerFlag'
ac67631b02 Check{,C,CXX,Fortran,OBJC,OBJCXX}CompilerFlag: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10840
2025-05-30 09:35:17 -04:00
Brad King
9165675464 Merge topic 'patch-CSharpUtilities'
0d74966cd9 CSharpUtilities: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10841
2025-05-30 09:33:21 -04:00