Commit Graph

7120 Commits

Author SHA1 Message Date
Brad King 0ff8c20932 Merge branch 'release-3.27' into release-3.28 2023-11-27 14:30:53 -05:00
Brad King a4cfa9f017 Merge branch 'release-3.26' into release-3.27 2023-11-27 14:30:37 -05:00
Brad King ceb742a8fb CMake 3.26.6 2023-11-27 13:48:12 -05:00
Brad King 1d431e440d Merge topic 'doc-ctest-link-cdash' into release-3.28
486c89dd6a Help: Fix ctest(1) manual links to www.cdash.org

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8998
2023-11-22 07:21:15 -05:00
Brad King 5c5830bb9e Merge branch 'doc-ctest-link-cdash' into release-3.27
Merge-request: !8998
2023-11-21 18:53:15 -05:00
Brad King 486c89dd6a Help: Fix ctest(1) manual links to www.cdash.org
When the link was updated to `https` by commit 52eac4573d (Help: Fix
link to cdash.org from CTest manual, 2021-04-21, v3.21.0-rc1~262^2~2)
the markup was incorrectly adjusted to show the link as part of the
"See Also" section.  It is meant to be the link destination for links
in prose elsewhere in the manual.  Fix the markup and move it to a
clearer location.  Also update the link to resolve a redirect.
2023-11-21 18:46:41 -05:00
Brad King 2f30b29ac3 Merge topic 'fileapi-file-sets-base-dirs-relative' into release-3.28
a3a85524cd fileapi: Fix file sets' base directories relative to top source

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8977
2023-11-20 09:12:59 -05:00
Brad King 3c1176bb24 Merge branch 'fileapi-file-sets-base-dirs-relative' into release-3.27
Merge-request: !8977
2023-11-20 09:12:11 -05:00
Brad King d9c8a3abdf Merge topic 'doc-CMP0149' into release-3.28
fe0d03b044 Help: Document that CMP0149 should be set before project()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8990
2023-11-20 09:08:37 -05:00
Brad King fe0d03b044 Help: Document that CMP0149 should be set before project()
Issue: #25413
2023-11-20 08:51:46 -05:00
權少 c53a341f9f Help: Move deprecated properties to dedicated section 2023-11-20 08:24:51 -05:00
Brad King 4d14116dbc Merge topic 'ci-fedora-39' into release-3.28
9283b20659 ci: Suppress CPack/RPM tests pending fix for Fedora 39
18145e8745 ci: Update FindMPI test environment for mpich on Fedora 39
a8be80ccf2 ci: Drop now-unnecessary Clang rules for CXXModules tests
99238b23e9 ci: use Fedora 39 images and environments
57eadec617 ci: update Linux image to Fedora 39
653262162c clang-tidy module: Update to build against LLVM/Clang 17
2cf9a65835 clang-tidy: ignore warnings new in version 17
2744f14db1 codespell: Fix typos
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8983
2023-11-20 08:10:36 -05:00
Peter Kokot 328a1b5b73 Help: Fix spelling of CMAKE_EXTRA_INCLUDE_FILES in 3.6 release notes 2023-11-19 11:33:08 -05:00
Brad King 2744f14db1 codespell: Fix typos 2023-11-17 09:58:21 -05:00
Brad King f2776ac063 codespell: Revise release note about short-lived field to avoid misspelling 2023-11-17 09:58:21 -05:00
Kyle Edwards a3a85524cd fileapi: Fix file sets' base directories relative to top source
This field was added by commit b3e9fb67bb (file-api: support exporting
file set information, 2022-11-03, v3.26.0-rc1~389^2) but the relative
path convention used elsewhere was accidentally left out.

Fixes: #25422
2023-11-17 07:59:05 -05:00
Brad King cd74246331 Merge branch 'release-3.27' into release-3.28 2023-11-15 09:43:56 -05:00
Brad King 9cfff766eb CMake 3.27.8 2023-11-15 08:55:18 -05:00
Ben Boeckel 889aa0354a CMP0155: ignore scanning for sources if no scanner is available
This allows for a more graceful transition for projects using C++20
without scanner support (e.g., Clang 15 or GCC 13). While newer
compilers will (needlessly) scan, it allows C++20-using projects to use
older compilers without having to set `CMAKE_CXX_SCAN_FOR_MODULES` to
support newer CMake minimum versions.

Fixes: #25357
2023-11-01 09:52:08 -04:00
Brad King 34c51a385b Merge topic 'ninja-better-order-depends' into release-3.28
ed45432571 cmNinjaTargetGenerator: do not order-depend on C++ module sources
0973cd6702 cmNinjaTargetGenerator: use the file set visibility API
4625170925 cmFileSet: add a query for includeable file set types
51f9d9f0a2 cmNinjaTargetGenerator: avoid traversing old outputs repeatedly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8902
2023-10-23 09:39:22 -04:00
權少 75ca6e17f2 Help: Move some deprecated modules to the dedicated sections 2023-10-20 09:01:33 -04:00
Ben Boeckel ed45432571 cmNinjaTargetGenerator: do not order-depend on C++ module sources
C++ module sources should not be included by any other TUs, so their
presence cannot matter for order-only dependencies of the entire target.
Exclude them.

Update CMP0154 to take this into consideration and add tests to the
`CXXModules` suite (which already deals with module support detection).
2023-10-20 07:18:33 -04:00
Johel Ernesto Guerrero Peña d3978a3835 Help: Document cmake-presets version 8
This was accidentally missed in commit f1a7179520 (presets: Add $schema
property to JSON schema, 2023-09-07, v3.28.0-rc1~106^2).
2023-10-19 09:53:48 -04:00
Ben Boeckel badb6ab120 VS: Explicitly disallow C++ modules provided by imported targets
The `-ifcOnly` flag is understood by MSBuild, but there are unresolved
questions about how to integrate with with CMake's model.

See: #25328
2023-10-17 14:46:57 -04:00
權少 5bbc9055c0 Help: Fix typo in COMPATIBLE_INTERFACE_NUMBER_MIN 2023-10-11 10:15:11 -04:00
Brad King 43b7af5666 Merge branch 'release-3.27' into release-3.28 2023-10-06 09:44:56 -04:00
Brad King 9532e1cf5b CMake 3.27.7 2023-10-06 09:08:35 -04:00
Brad King 959a409c20 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2023-10-03 11:21:24 -04:00
Brad King 5df79d1930 Help: Update Sphinx versionadded directives for 3.28 release
Run the script:

    Utilities/Sphinx/update_versions.py --since v3.27.0 --overwrite

Manually remove directives added to new documentation of existing
environment variables.
2023-10-03 11:07:16 -04:00
Brad King 4eb2386901 Help: Organize and revise 3.28 release notes
Add section headers similar to the 3.27 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2023-10-03 11:07:16 -04:00
Brad King 32f3966521 Help: Consolidate 3.28 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.28.rst`.
2023-10-03 10:46:13 -04:00
Brad King 2c4f579124 Help: Fix versionadded indentation in cmake-generator-expressions(7) manual
Fix indentation of the `versionadded` markup added by commit 634079b86d
(cmGeneratorExpressionEvaluator: Short-circuit boolean operators,
2023-09-11) to render the note in the appropriate scope.
2023-10-03 10:46:13 -04:00
Brad King 8735cbba5d Merge topic 'cxxmodules-no-longer-experimental'
437280b127 cxxmodules: scan C++ sources for imports by default
3cddd11649 Ninja: message about not compiled sources explicitly
068fde1c34 cmGeneratorTarget: use `this->` for method calls
197a6bf171 cxxmodules: rework control logic for scanning regular C++ sources
5eb7bd641a Tests/RunCMake/CXXModules: remove rules file requirement
ff18acc301 CXXModules: remove `EXPERIMENTAL` from C++ module variable names
0c07f39006 cmExperimental: remove the flag for C++ modules
68caec9137 Help: add a manpage for cxxmodule support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !8828
2023-10-02 11:55:38 -04:00
Ben Boeckel 437280b127 cxxmodules: scan C++ sources for imports by default
Existing projects are not using C++ modules in their sources,
so introduce policy CMP0155 to enable scanning by default.
2023-10-02 10:17:31 -04:00
Ben Boeckel 197a6bf171 cxxmodules: rework control logic for scanning regular C++ sources
Now that scanning support is no longer experimental, the logic for
whether or not to scan C++ 20 sources is now important because all
projects are now exposted to the logic. Make the scanning rules explicit
in the documentation and rework the queries to localize all of the
associated logic.

A policy to handle the ultimate fallback logic will be implemented in a
following commit.
2023-10-02 10:17:31 -04:00
Ben Boeckel 0c07f39006 cmExperimental: remove the flag for C++ modules
All the major compilers now have scheduled releases with support for
scanning, so remove the experimental gate.

Fixes: #18355
2023-10-02 10:17:31 -04:00
Ben Boeckel 68caec9137 Help: add a manpage for cxxmodule support 2023-10-02 10:17:31 -04:00
Brad King ad4bed1679 Merge topic 'doc-CMP0124'
55bf2a3494 Help: Document CMP0124 behavior on already-set variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8850
2023-10-02 09:00:02 -04:00
Brad King 196960043d Merge topic 'doc-CMP0124' into release-3.27
55bf2a3494 Help: Document CMP0124 behavior on already-set variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8850
2023-10-02 09:00:01 -04:00
Brad King 37c80628ba Merge topic 'ctest-timeout-flag'
d267c128a2 ctest: Restore support for --timeout values higher than default test timeout
dd779a4bc2 Tests: Clarify RunCMake.CTestTimeout case name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8851
2023-10-02 08:57:36 -04:00
Craig Scott 7ab880421a Merge topic 'ExternalProject-declare-download-byproducts'
872daff159 ExternalProject: declare byproducts for the download step

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8823
2023-10-01 07:12:56 -04:00
Ben Boeckel 872daff159 ExternalProject: declare byproducts for the download step
This can surface a conflict where two projects download the same file
and get scheduled against each other.
2023-09-30 15:59:22 +10:00
Brad King 55bf2a3494 Help: Document CMP0124 behavior on already-set variables
Improve the documentation from commit 46896d98bb (foreach(): loop
variables are only available in the loop scope, 2021-04-25,
v3.21.0-rc1~245^2) to follow policy documentation convention.

Fixes: #25224
Inspired-by: Marius Messerschmidt <marius.messerschmidt@googlemail.com>
2023-09-29 10:14:20 -04:00
Brad King b3205afcde Merge topic 'help-arbitrary'
4e50320978 Help: Allow help for arbitrary keywords

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8674
2023-09-29 09:36:24 -04:00
Brad King d267c128a2 ctest: Restore support for --timeout values higher than default test timeout
Since refactoring in commit 0a5aeaf302 (cmCTestRunTest: Consolidate test
timeout selection logic, 2023-05-04, v3.27.0-rc1~120^2) we accidentally
truncate `--timeout` values to ctest's default `TimeOut`.  Fix the
logic to prefer the flag whenever the `TIMEOUT` property is not set.

In combination with the prior refactoring, this also fixes a bug that
caused `--timeout` values of 10000000 seconds or more to be ignored.

Fixes: #23979
2023-09-29 09:25:01 -04:00
Martin Duffy 4e50320978 Help: Allow help for arbitrary keywords
Changes `cmake --help [arg]` to search `Help/*/` instead of `Help/command/`
Allows editors to easily display manual for `<cword>`
2023-09-27 18:01:12 -04:00
Brad King 2a12a83037 Merge topic 'misc-cxxmodule-fixes'
3b632f32fa Tests/CXXModules: forward the default build type
5ab6b09691 Tests/CXXModules: fix multi-config and MSVC details
11b62ef118 Tests/CXXModules: add missing `bmi-only` and compiler id fields
5d9631fbdd Tests/CXXModules: fix key set mismatch error messages
86e7fb72cb Tests/CXXModules: use a less generic name for the config
6b940dc590 Tests/CXXModules: replace the object extension as well
1c9f83c8ec Tests/CXXModules: fix error detection propagation
7a4c02cb38 cmGlobalGenerator: factor out messaging for CMP0037
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !8834
2023-09-27 11:22:05 -04:00
Brad King 5d32320bf3 Merge topic 'hip-nvidia'
fd982eec10 HIP: Add tests for special NVIDIA values of CMAKE_HIP_ARCHITECTURES
8c8b3f1bfa HIP: Fix support for -DCMAKE_HIP_ARCHITECTURES=native with NVCC
b3e92775ab HIP: Add CMAKE_HIP_HOST_COMPILER when compiler is NVCC
e43918b4ca HIP: Fix linking mixed-lang binary with CXX compiler and Makefile generators
4794505122 HIP: Do not require hip-lang package for NVIDIA platform
09d759dc7f HIP: Simplify exclusion of AMD device runtime with NVIDIA GPUs
2a60663670 HIP: Simplify CMAKE_GENERATOR references for determining compiler
8124950f6c CUDA: Generalize CMAKE_{CUDA => <LANG>}_HOST_COMPILER variable docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8836
2023-09-26 09:40:25 -04:00
Brad King ccd5359003 Merge topic 'doc1'
449f5da373 Help:cmake(1): add versionadded back to 3.17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8831
2023-09-26 09:39:20 -04:00
Brad King b8151299de Merge topic 'genexp-no-eval'
634079b86d cmGeneratorExpressionEvaluator: Short-circuit boolean operators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !8791
2023-09-26 09:31:42 -04:00