Commit Graph

60924 Commits

Author SHA1 Message Date
Brad King
c2b1d9bf97 Merge topic 'revert-CheckCompilerFlag-clang-argument-unused' into release-3.26
97fcd3bd30 CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8322
2023-03-14 09:29:00 -04:00
Brad King
97fcd3bd30 CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...'
Revert commit 5b45a3d0ce (CheckCompilerFlag: Match the Clang "argument
unused" output for all languages, 2023-01-23, v3.26.0-rc1~38^2).  It
broke existing projects that were silently tolerating unrelated unused
arguments in their checks for C and CXX.  For example, using
`CFLAGS=-nostdinc` or `CXXFLAGS=-nostdinc++` causes those flags to be
used when driving the linker as well, and Clang warns they are unused in
that case.

Add a test case covering the now-restored behavior.

Fixes: #24591
2023-03-13 16:18:50 -04:00
Brad King
bd74679ab5 Merge branch 'release-3.25' into release-3.26 2023-03-13 14:31:47 -04:00
Brad King
2644555536 Merge branch 'backport-3.25-log-failed-compiler-id' into release-3.25
Merge-request: !8320
2023-03-13 14:31:05 -04:00
Brad King
9f54901ed9 CompilerId: Restore logging of failed identifications in CMake 3.25
Changes in commit 9c5bd7fe3a (CompilerId: Output errors from all
attempts at detection, 2022-08-16, v3.25.0-rc1~290^2) accidentally
stopped logging failed compiler identification build output.

This was fixed for CMake 3.26 and later by commit 24ccc8c3c9
(CompilerId: Restore logging of failed identifications, 2023-01-16,
v3.26.0-rc1~70^2~6).  Backport it to 3.25.
2023-03-13 14:29:50 -04:00
Brad King
8e4c849441 Merge topic 'revert-optimize-target-depends-closure' into release-3.26
685108a582 Ninja: Revert "Optimize target depends closure" due to performance regression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8315
2023-03-13 09:36:01 -04:00
Brad King
685108a582 Ninja: Revert "Optimize target depends closure" due to performance regression
Revert commit 1f16af01f4 (cmGlobalNinjaGenerator: Optimize target
depends closure, 2023-01-17, v3.26.0-rc1~74^2).  It regressed generation
time for some projects.  Revert it pending further investigation.
2023-03-10 15:13:23 -05:00
Brad King
454bfa77b2 CMake 3.26.0-rc6 v3.26.0-rc6 2023-03-08 14:04:09 -05:00
Brad King
3bb826359a Merge branch 'release-3.25' into release-3.26 2023-03-08 10:35:16 -05:00
Brad King
5709a7e572 CMake 3.25.3 v3.25.3 2023-03-08 10:01:06 -05:00
Brad King
db8be3b923 Merge branch 'release-3.25' into release-3.26 2023-03-08 09:50:39 -05:00
Brad King
9ee3e2cc7e Merge branch 'release-3.24' into release-3.25 2023-03-08 09:50:32 -05:00
Brad King
451d1c8b6c CMake 3.24.4 v3.24.4 2023-03-08 09:15:32 -05:00
Brad King
cea9dae92a Merge topic 'revert-vs-BuildInParallel' into release-3.26
abb1c12162 VS: Revert "Build custom commands concurrently when possible"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8297
2023-03-08 08:56:28 -05:00
Brad King
a7e697d5d2 Merge branch 'release-3.25' into release-3.26 2023-03-08 08:53:36 -05:00
Brad King
d7481673d2 Merge topic 'file-install-macos' into release-3.26
a6f5bdd650 Merge branch 'backport-3.24-file-install-macos'
35f2b1bf5b file(INSTALL): Fix file ownership regression when running as root on macOS
a5d6548587 file(INSTALL): Fix file ownership regression when running as root on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8293
2023-03-08 08:52:08 -05:00
Brad King
84adf3e57f Merge branch 'release-3.24' into release-3.25 2023-03-08 07:45:25 -05:00
Brad King
24f356cd5e Merge branch 'backport-3.24-file-install-macos' into release-3.25
Merge-request: !8293
2023-03-08 07:45:15 -05:00
Brad King
a6373caaec Merge branch 'backport-3.24-file-install-macos' into release-3.24
Merge-request: !8293
2023-03-08 07:44:36 -05:00
Brad King
a6f5bdd650 Merge branch 'backport-3.24-file-install-macos' 2023-03-08 07:37:35 -05:00
Brad King
abb1c12162 VS: Revert "Build custom commands concurrently when possible"
Since commit 33c15ae2b9 (VS: Build custom commands concurrently when
possible, 2023-01-19, v3.26.0-rc1~56^2) we add `BuildInParallel` to
custom commands in `.vcxproj` files.  However, this can break existing
projects that implicitly rely on serial execution of custom commands.
For example, custom commands in our FindCUDA module run MSVC (via nvcc)
with a common `vc*.pdb` file, and therefore cannot run in parallel.

Revert use of `BuildInParallel` while leaving most of the infrastructure
for it in place.  It can be restored later with an option or policy.

Fixes: #24576
Issue: #18405
2023-03-07 14:19:49 -05:00
Brad King
35f2b1bf5b file(INSTALL): Fix file ownership regression when running as root on macOS
Backport KWSys commit `51272e80e` (SystemTools: Avoid macOS copyfile
semantic differences as root, 2023-03-07).

Fixes: #24577
2023-03-07 11:39:58 -05:00
Brad King
a5d6548587 file(INSTALL): Fix file ownership regression when running as root on macOS
Backport KWSys commit `51272e80e` (SystemTools: Avoid macOS copyfile
semantic differences as root, 2023-03-07).

Fixes: #24577
2023-03-07 11:36:25 -05:00
Brad King
5f4dad37f0 Merge topic 'clang-16-cxx-modules' into release-3.26
3fe8e33f27 Clang: Record Clang 16.0 flags for our experimental C++ modules support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8285
2023-03-06 08:59:20 -05:00
Brad King
dcd6fe7f69 Merge branch 'release-3.25' into release-3.26 2023-03-06 08:57:17 -05:00
Brad King
9c181ad470 Merge topic 'GoogleTest-type-param-suite' into release-3.26
9aa9032266 GoogleTest: Restore suite name for type-parametrized tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8282
2023-03-06 08:53:40 -05:00
Brad King
b8916bca0c Merge branch 'release-3.24' into release-3.25 2023-03-03 12:59:00 -05:00
Brad King
ab7085db35 Merge branch 'release-3.23' into release-3.24 2023-03-03 12:58:40 -05:00
Brad King
df18138b5b Merge branch 'GoogleTest-type-param-suite' into release-3.25
Merge-request: !8282
2023-03-03 12:58:30 -05:00
Brad King
c5f0dde57c Merge branch 'GoogleTest-type-param-suite' into release-3.24
Merge-request: !8282
2023-03-03 12:58:20 -05:00
Brad King
3abd37f05d Merge branch 'GoogleTest-type-param-suite' into release-3.23
Merge-request: !8282
2023-03-03 12:57:59 -05:00
Brad King
3fe8e33f27 Clang: Record Clang 16.0 flags for our experimental C++ modules support
LLVM/Clang 16.0 now contains official support for what CMake needs.
2023-03-03 12:44:53 -05:00
Brad King
9aa9032266 GoogleTest: Restore suite name for type-parametrized tests
Fix a regression from commit 073dd1bd81 (GoogleTest: Change format for
typed tests, 2022-02-07, v3.23.0-rc1~4^2) in the suite name detection.

Co-authored-by: Evgeniy Shcherbina <ixsci@pm.me>
Fixes: #24563
2023-03-03 10:38:02 -05:00
Brad King
a8b1fb7976 Merge branch 'release-3.25' into release-3.26 2023-03-03 09:26:05 -05:00
Brad King
cb1b95886b Merge topic 'ExternalProject-revert-install' into release-3.26
771387523a ExternalProject: Restore driving install through build system

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8279
2023-03-03 09:22:45 -05:00
Brad King
3540e2ade6 Merge branch 'ExternalProject-revert-install' into release-3.25
Merge-request: !8279
2023-03-03 09:21:38 -05:00
Brad King
cbaf334598 Merge topic 'doc-block' into release-3.26
2931f078dc Help:cmake-language: note new block() command scope

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8276
2023-03-03 09:21:16 -05:00
Brad King
771387523a ExternalProject: Restore driving install through build system
Revert commit 66b5d51f38 (ExternalProject: Install CMake projects
using 'cmake --install', 2022-09-08, v3.25.0-rc1~150^2).
It changed the ExternalProject install step command from:

    cmake --build <dir> --target install --config <cfg>

to:

    cmake --install <dir> --config <cfg>

The latter command no longer runs the external project build system
during the install step.  We could consider using the commands:

    cmake --build <dir> --target all --config <cfg>
    cmake --install <dir> --config <cfg>

as the install step, but if `CMAKE_SKIP_INSTALL_ALL_DEPENDENCY` is
used in the external project, that can change semantics too.

Revert the original change pending further investigation on other ways
to support its motivating use case.  Add a test covering the
previously-regressed use case.

Fixes: #24567
Issue: #23946
2023-03-02 14:28:26 -05:00
scivision
2931f078dc Help:cmake-language: note new block() command scope 2023-03-02 10:34:56 -05:00
Brad King
6c0b3d2b7e CMake 3.26.0-rc5 v3.26.0-rc5 2023-03-01 09:43:05 -05:00
Brad King
fd05b428eb Merge topic 'check-curses-min-cmake' into release-3.26
d70582eed8 ccmake: Update minimum required version of CMake for curses check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8272
2023-03-01 09:36:35 -05:00
Brad King
e903268d67 Merge topic 'FindPython-fix-CMAKE_SHARED_LIBRARY_SUFFIX-matching' into release-3.26
764441e672 FindPython: fix erroneous ${CMAKE_SHARED_LIBRARY_SUFFIX} matching

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8271
2023-03-01 09:35:41 -05:00
Brad King
d70582eed8 ccmake: Update minimum required version of CMake for curses check
This should have been part of commit d6b811fb82 (Require CMake 3.13+ to
configure CMake itself, 2022-02-22, v3.24.0-rc1~605^2~1).
2023-03-01 09:15:38 -05:00
Brad King
43fd7f6adb Merge topic 'ci-package-pipeline' into release-3.26
7c60a2625d gitlab-ci: Optionally upload release packages to custom URL
fc8a981893 gitlab-ci: Generalize package and help upload URLs
f73649823b gitlab-ci: Stage unsigned release package artifacts in a dedicated directory
0929221ca3 gitlab-ci: Simplify Windows packaging pipeline
ce2e825306 gitlab-ci: Simplify macOS packaging jobs
05531a7c4e gitlab-ci: add pre-build and post-build steps to Windows
5ab92d8e71 gitlab-ci: add pre-build and post-build steps to macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8266
2023-03-01 09:12:52 -05:00
Brad King
a5cf009c2a Merge topic 'try-doc' into release-3.26
b6cfbe7b17 Help:try_{compile,run}: clarify, encourage new syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8262
2023-03-01 09:11:54 -05:00
Marc Chevrier
764441e672 FindPython: fix erroneous ${CMAKE_SHARED_LIBRARY_SUFFIX} matching
Fixes: #24556
2023-03-01 12:34:13 +01:00
Brad King
7c60a2625d gitlab-ci: Optionally upload release packages to custom URL 2023-02-28 13:39:52 -05:00
Brad King
fc8a981893 gitlab-ci: Generalize package and help upload URLs 2023-02-28 13:39:52 -05:00
Brad King
f73649823b gitlab-ci: Stage unsigned release package artifacts in a dedicated directory
These artifacts need to be manually signed before distribution.
Move them to a dedicated `unsigned/` directory to avoid accidental
distribution without signing.
2023-02-28 13:39:52 -05:00
Brad King
0929221ca3 gitlab-ci: Simplify Windows packaging pipeline
In commit 4c7c66dcf5 (gitlab-ci: Add jobs to make Windows x86_64 and
i386 packages, 2022-05-19, v3.24.0-rc1~112^2) we used a separate Windows
packaging job in nightly packaging pipelines.  It did not run in release
pipelines, where we need to run the final packaging step manually with
signing.  Simplify nightly packaging pipelines by running `cpack` at the
end of the build job as we do for other platforms.

For release packaging pipelines, create an archive of the files needed
to build a package, and present this as the built "package" on Windows.
2023-02-28 13:39:44 -05:00