Commit Graph

62188 Commits

Author SHA1 Message Date
Robert Maynard c3a364cae9 Help: Remove incorrect command from list that marks GENERATED
The `file(GENERATE)` does not mark the output as `GENERATED` currently
or when the documentation that says so was added by commit 11615b297f
(GENERATED: Improve the documentation of the GENERATED file property,
2018-01-03, v3.11.0-rc1~145^2).
2023-06-21 14:19:38 -04:00
Brad King 0cd5300665 CMake 3.27.0-rc3 v3.27.0-rc3 2023-06-20 13:11:25 -04:00
Brad King fd949f6e01 Merge topic 'android-platform-vars' into release-3.27
ab66b89a46 Android: Restore platform id vars with legacy toolchain file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8576
2023-06-20 13:09:58 -04:00
Brad King f342a655e4 Merge topic 'FindProtobuf-version-schemes' into release-3.27
fc7dcc6a24 FindProtobuf: Support new version number scheme

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8574
2023-06-20 13:08:46 -04:00
Brad King ab66b89a46 Android: Restore platform id vars with legacy toolchain file
Restore definition of `ANDROID` and `UNIX` when `CMAKE_SYSTEM_VERSION`
is `1`.  This was broken by commit 1373373823 (enable_language:
Establish target platform identification variables earlier, 2023-06-06,
v3.27.0-rc1~3^2~1).

Fixes: #25004
2023-06-20 10:39:37 -04:00
Jannik Beyerstedt fc7dcc6a24 FindProtobuf: Support new version number scheme
Protobuf changed it's version number scheme with version 21. The first number
(usually the major version) is not synchronized between compiler and library
version, but the second and third number are. See
https://protobuf.dev/news/2022-05-06/ for more details.

Fixes: #24847
2023-06-20 09:59:53 -04:00
Brad King 21d409534a Merge topic 'rel-macos-c++17' into release-3.27
7b205b7078 ci: Build macOS 10.13+ package as C++17
7f6cebb1cd ci: Split macOS 10.10+ and 10.13+ package language standard selection
aab16d4bfc ci: Drop unnecessary -stdlib flag from macOS package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8567
2023-06-20 09:26:28 -04:00
Brad King e12d6d2503 Merge topic 'cmList-SUBLIST-regression' into release-3.27
1cfaed0684 list(): restore SUBLIST behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8569
2023-06-20 09:25:39 -04:00
Marc Chevrier 1cfaed0684 list(): restore SUBLIST behavior
Fixes: #25002
2023-06-16 15:14:03 +02:00
Brad King 8a99acd289 Merge topic 'FindPostgreSQL-15' into release-3.27
80ba2cccfc FindPostgreSQL: Add support for version 15

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8568
2023-06-16 08:35:34 -04:00
Brad King 80ba2cccfc FindPostgreSQL: Add support for version 15 2023-06-16 08:21:04 -04:00
Brad King 7b205b7078 ci: Build macOS 10.13+ package as C++17
Take advantage of the standard library implementations of those C++17
features available when targeting macOS 10.13.  Note that the standard
library `std::filesystem` implementation is not available until 10.15.
2023-06-16 08:16:43 -04:00
Brad King 8e4cda74fe Merge topic 'fix_tutorial_step7_solution_text' into release-3.27
a8679c997d Tutorial: Extend literal include to contain full code changes in solution

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8563
2023-06-16 07:49:17 -04:00
Markus Ferrell a8679c997d Tutorial: Extend literal include to contain full code changes in solution
The solution for step 7 todo 5 did not include all of the code changes.
Modify it to include the needed `#endif` code change.
2023-06-15 09:29:16 -04:00
Brad King 7f6cebb1cd ci: Split macOS 10.10+ and 10.13+ package language standard selection
Prepare to use a different language standard level for each package.
2023-06-15 09:21:07 -04:00
Brad King aab16d4bfc ci: Drop unnecessary -stdlib flag from macOS package
AppleClang uses `libc++` by default.
2023-06-15 09:21:07 -04:00
Brad King 57b97d30c0 Merge topic 'doc-genex-TARGET_RUNTIME_DLL_DIRS' into release-3.27
acce355673 Help: Add 3.27 release note for TARGET_RUNTIME_DLL_DIRS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8558
2023-06-14 09:13:50 -04:00
Brad King f19baf5846 Merge topic 'improve-sphinx-check' into release-3.27
528cdc7551 Utilities/Sphinx: Fix some flake8 gripes
4bd1beded4 Utilities/Sphinx: Don't ignore flake8 E402

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8561
2023-06-14 09:12:57 -04:00
Matthew Woehlke 528cdc7551 Utilities/Sphinx: Fix some flake8 gripes
Reorder some imports to better conform to what flake8 wants.
2023-06-13 11:39:48 -04:00
Matthew Woehlke 4bd1beded4 Utilities/Sphinx: Don't ignore flake8 E402
Refactor commit 1f39a3cd1a (Utilities/Sphinx: Restore explicit check for
Sphinx 2.x or later) to avoid needing to suppress flake8 E402. While
ignoring it with respect to the docutils/sphinx imports and the sphinx
version check was correct, the need to disable it for the whole file was
suboptimal.
2023-06-13 11:25:14 -04:00
Brad King acce355673 Help: Add 3.27 release note for TARGET_RUNTIME_DLL_DIRS
This was accidentally left out of commit 2ce3d62ffb (Help: add
documentation for the new TARGET_RUNTIME_DLL_DIRS genex, 2023-02-26,
v3.27.0-rc1~400^2~2).
2023-06-13 10:59:28 -04:00
Brad King cb5b148335 Merge topic 'test-no-git' into release-3.27
15d9d591bd Tests: Require git to enable RunCMake.CMP0150 test
0c2610bd30 Tests: Find GIT_EXECUTABLE early enough to use in all tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8556
2023-06-13 10:54:56 -04:00
Brad King 152be45505 Merge topic 'doc-sphinx-2.x' into release-3.27
1f39a3cd1a Utilities/Sphinx: Restore explicit check for Sphinx 2.x or later
5de805bea2 Utilities/Sphinx: Fix flake8 E124 diagnostic in cmake.py

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8555
2023-06-13 10:48:31 -04:00
Brad King 15d9d591bd Tests: Require git to enable RunCMake.CMP0150 test
The test added by commit 550f63447d (ExternalProject/FetchContent:
Support relative remote URLs, 2023-04-21, v3.27.0-rc1~156^2) covers
Git-specific functionality, and requires a `git` tool to be available.
2023-06-12 17:56:53 -04:00
Brad King 0c2610bd30 Tests: Find GIT_EXECUTABLE early enough to use in all tests
Some tests work only if a `git` executable is available.
2023-06-12 17:53:56 -04:00
Brad King 1f39a3cd1a Utilities/Sphinx: Restore explicit check for Sphinx 2.x or later
Refactoring in commit adbc8c982d (Utilities/Sphinx: Fix flake8 gripes in
cmake.py, 2023-03-13, v3.27.0-rc1~317^2) moved the assertion added by
commit cef51925a4 (Utilities/Sphinx: Require Sphinx 2.x or later,
2023-03-13, v3.27.0-rc1~317^2~2) to after imports, which is too late to
clearly reject older Sphinx versions.
2023-06-12 17:37:13 -04:00
Brad King 5de805bea2 Utilities/Sphinx: Fix flake8 E124 diagnostic in cmake.py 2023-06-12 17:34:25 -04:00
Brad King 66f7d9e6e0 CMake 3.27.0-rc2 v3.27.0-rc2 2023-06-12 13:24:29 -04:00
Brad King 0e4d93f9d7 Merge topic 'restore-check-module-deps' into release-3.27
4a2b708144 Modules: Restore unnecessary inclusions for compatibility

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8554
2023-06-12 13:19:17 -04:00
Brad King 4a2b708144 Modules: Restore unnecessary inclusions for compatibility
Since commit 03c6ebf2b5 (Modules:Check,GenerateExportHeader: include
only what's needed, 2023-03-09, v3.27.0-rc1~327^2) some existing
projects broke because they were accidentally relying on indirect
inclusion of some check modules.  For now, restore the unnecessary
includes for compatibility.  They can be removed with a policy later.

Fixes: #24991
Issue: #24994
2023-06-12 09:59:23 -04:00
Brad King a70fe8ec82 Merge topic 'add_test-empty-args' into release-3.27
1df3287bf6 add_test: Restore support for empty test arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8551
2023-06-12 06:41:40 -04:00
Brad King bebb2abb4b Merge topic 'bootstrap-system-cppdap' into release-3.27
e4a9227360 bootstrap: Add --(no-)system-cppdap configuration switch

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8550
2023-06-09 09:59:17 -04:00
Brad King 5741965586 Merge topic 'Makefiles-safer-COLOR-usage' into release-3.27
8195aa3026 Makefiles: quote `$(COLOR)` expansions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8548
2023-06-09 09:58:25 -04:00
Marc Chevrier 1df3287bf6 add_test: Restore support for empty test arguments
This was regressed by refactoring in commit e08ba229ee (CMake code rely
on cmList class for CMake lists management (part. 1), 2023-04-14,
v3.27.0-rc1~174^2).  Fix it and add a test case.

Fixes: #24986
2023-06-09 09:47:52 -04:00
Björn Esser e4a9227360 bootstrap: Add --(no-)system-cppdap configuration switch
This was accidentally left out of commit 5ec69eb58c (cppdap: Build as
part of CMake or use external installation, 2023-05-19,
v3.27.0-rc1~45^2~1).
2023-06-08 14:56:07 -04:00
Brad King 5b39465ff1 CMake 3.27.0-rc1 v3.27.0-rc1 2023-06-08 11:10:11 -04:00
Ben Boeckel 8195aa3026 Makefiles: quote $(COLOR) expansions
This handles the case where `COLOR` is set to some ANSI-like color
sequence in the ambient environment. These sequences tend to include `;`
which terminates the command and tries to use the next component
(typically an integer, possibly with a trailing `m`) with errors like:

    /bin/sh: line 1: 2: command not found
    /bin/sh: line 1: 255: command not found
    /bin/sh: line 1: 221: command not found
    /bin/sh: line 1: 255m: command not found

Also add a test that sets `COLOR` in the environment which affects the
generated Makefiles behavior.

See: https://discourse.cmake.org/t/cmake-failing-gcc-compiler-checks/8277
2023-06-08 11:05:11 -04:00
Brad King abc93ff511 Merge topic 'FindCUDAToolkit-cupti-nvperf' into release-3.27
f9579ffaa6 FindCUDAToolkit: Add cupti nvperf and pcsampling targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8545
2023-06-08 10:48:09 -04:00
Brad King aebf8ad1aa Merge topic 'cmcldeps-rc' into release-3.27
0e1abf7afa cmcldeps: Avoid passing /nologo more than once to RC compiler
f694e8d9c8 cmcldeps: Do not pass linker flags to cl
8600fb263b cmcldeps: Remove unused C and CXX support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8541
2023-06-08 10:45:45 -04:00
Brad King 52970dcaba Merge topic 'target-system-variables' into release-3.27
e4c53cdc15 BinUtils: Drop now-unnecessary cross-compiling workaround for Apple hosts
1373373823 enable_language: Establish target platform identification variables earlier
1d916bf3d2 kFreeBSD,GNU: Provide multiarch library directory regex earlier

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8544
2023-06-08 10:44:38 -04:00
Robert Maynard f9579ffaa6 FindCUDAToolkit: Add cupti nvperf and pcsampling targets 2023-06-07 13:58:09 -04:00
Brad King 0e1abf7afa cmcldeps: Avoid passing /nologo more than once to RC compiler
`rc /nologo /nologo ...` fails:

    fatal error RC1106: invalid option: -ologo

Fixes: #24974
Inspired-by: Benjamin Buch <benjamin.buch@technoteam.de>
2023-06-07 10:12:57 -04:00
Benjamin Buch f694e8d9c8 cmcldeps: Do not pass linker flags to cl
Avoid cl `Command line warning D9035`.

Fixes: #24906
Co-authored-by: Brad King <brad.king@kitware.com>
2023-06-07 10:05:39 -04:00
Benjamin Buch 8600fb263b cmcldeps: Remove unused C and CXX support
We never set `CMAKE_NINJA_CMCLDEPS_{C,CXX}` anymore.
2023-06-07 08:16:40 -04:00
Brad King e4c53cdc15 BinUtils: Drop now-unnecessary cross-compiling workaround for Apple hosts
Previously we added fallbacks to `llvm-{ar,strip}` on Apple hosts
in case of cross-compiling because the `APPLE` platform variable
was not set w.r.t. the target platform.  The platform variable
has been fixed, so remove the fallbacks.

Issue: #23333
2023-06-07 07:02:20 -04:00
Brad King 1373373823 enable_language: Establish target platform identification variables earlier
Set target platform identification variables like `APPLE` and `LINUX`
as soon as the target system is identified.  This makes them available
during toolchain and binutils selection.

Fixes: #23333
2023-06-07 07:02:20 -04:00
Brad King 1d916bf3d2 kFreeBSD,GNU: Provide multiarch library directory regex earlier
Make `CMAKE_LIBRARY_ARCHITECTURE_REGEX` available while determining
compilers before `Platform/{kFreeBSD,GNU}` is loaded.

Follow up commit cc737ae829 (Linux: Provide multiarch library directory
regex earlier, 2023-05-31).
2023-06-06 15:35:20 -04:00
Brad King c01091d2cf Begin 3.27 release versioning 2023-06-06 13:36:58 -04:00
Brad King d3f07fbb9d 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-06-06 13:36:21 -04:00
Brad King 5e77c6e558 Merge topic 'doc-3.27-relnotes'
6bc97b453c Help: Update Sphinx versionadded directives for 3.27 release
78d2c9fef0 Help: Organize and revise 3.27 release notes
e6bcda8c39 Help: Consolidate 3.27 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8539
2023-06-06 13:31:07 -04:00