Commit Graph

62397 Commits

Author SHA1 Message Date
Brad King
e298ffb3ff Merge branch 'release-3.26' into release-3.27 2023-10-12 19:06:27 -04:00
Brad King
f2d8c36969 Merge branch 'backport-curl-socks5-fix' into release-3.27
Merge-request: !8872
2023-10-12 19:06:14 -04:00
Brad King
d6c81467aa Merge branch 'backport-curl-socks5-fix' into release-3.26
Merge-request: !8872
2023-10-12 19:05:59 -04:00
Brad King
1d6fab5537 Merge branch 'release-3.26' into release-3.27 2023-10-12 19:03:42 -04:00
Brad King
244bb7b6bc Merge branch 'backport-ctest_submit-follow-redirects' into release-3.26
Merge-request: !8873
2023-10-12 19:01:53 -04:00
Brad King
701f52670f curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0
Backport upstream curl commit `fb4415d8ae` (socks: return error if
hostname too long for remote resolve, 2023-10-11, curl-8_4_0~2) to
address CVE-2023-38545.

Issue: #25329
2023-10-12 15:54:53 -04:00
Zack Galbreath
ce661c4399 ctest: Restore support for http redirects during Submit step
After CDash PR 1519 introduced HTTP status codes greater than 200 for
various error cases, CMake commit b7c871f745 (ctest: Update ctest_submit
for CDash behavior change, 2023-07-24, v3.27.1~3^2) modified CTest's
submit handler to check the status returned by CDash and throw an error
when this status is not equal to 200.

That change had the unintended side effect of causing CTest submissions
to fail when uploading results to a URL that returns a redirect status
code (3xx).  Fix this by configuring cURL to follow the redirect.  The
status cURL reports to CTest is now 200 instead of 3xx when CDash is
located behind a redirect.

Fixes: #25159
2023-10-12 15:53:10 -04:00
Brad King
9532e1cf5b CMake 3.27.7 v3.27.7 2023-10-06 09:08:35 -04:00
Brad King
f69278850e Merge topic 'FindPostgreSQL-16' into release-3.27
25644a78de FindPostgreSQL: Add support for version 16

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8854
2023-10-03 09:27:27 -04:00
Brad King
25644a78de FindPostgreSQL: Add support for version 16
Fixes: #25292
2023-10-02 14:44:04 -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
832e88b208 Merge topic 'ctest-timeout-flag' into release-3.27
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:35 -04: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
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
Brad King
dd779a4bc2 Tests: Clarify RunCMake.CTestTimeout case name 2023-09-29 08:58:15 -04:00
Brad King
dd949c77cb Merge topic 'android-clang-c++23' into release-3.27
75e9918a66 Android: Require Clang 18 for -std=c++23

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !8847
2023-09-28 09:50:35 -04:00
Brad King
75e9918a66 Android: Require Clang 18 for -std=c++23
Update the Clang version checks added by

* commit eacacc70fc (Clang: use -std=c++23 for Clang 17.0+,
                     2023-05-08, v3.27.0-rc1~115^2)
* commit 0183956d30 (Clang: C++26 support,
                     2023-05-16, v3.27.0-rc1~85^2)

to account for Android NDK r26's distribution of a Clang based on a
development version of LLVM/Clang 17.0 that pre-dated addition of
these flags.

Follow the pattern from commit 12e6796b62 (Android: Do not pass
non-existent Clang -std flags, 2018-04-02, v3.12.0-rc1~284^2),
which fixed the same problem for `-std=c++17`.

Fixes: #25281
2023-09-27 12:56:49 -04:00
Brad King
d5d7fa463b Merge topic 'lint-genex-empty' into release-3.27
80df7b1745 Linting: Fix empty evaluated genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8833
2023-09-26 09:30:09 -04:00
Orkun Tokdemir
80df7b1745 Linting: Fix empty evaluated genex
Update logic added by commit 099934e313 (Add generator expression
support to static code analysis hooks, 2023-03-24, v3.27.0-rc1~261^2),
and preserved by commit 993dde925f (TargetGenerator: Factor out
generation of code check rules, 2023-05-12, v3.27.0-rc1~84^2~2), to
handle a generator expression that evaluates to the empty string.

If `<LANG>_CPPCHECK`, `<LANG>_CPPLINT`, `<LANG>_CLANG_TIDY`, or
`<LANG>_INCLUDE_WHAT_YOU_USE` are empty after evaluating generator
expressions, do not run their lints.

Fixes: #25265
2023-09-25 09:16:33 -04:00
Brad King
51b34a5483 CMake 3.27.6 v3.27.6 2023-09-20 10:33:04 -04:00
Brad King
ea3e9ba054 Merge topic 'fortran-in-custom-targets' into release-3.27
d870a47e23 Tests/FortranModules: add a test for iface Fortran sources
e3d511fb9c Tests/FortranModules: also test INTERFACE targets with Fortran sources
978b68d3bb add_custom_target: Fix regression with Fortran sources
619aca80ae Tests/FortranModules: add a test case for #25223
45513c1a69 Tests/FortranModules: move issue 25112 fix from FortranOnly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8814
2023-09-20 10:16:17 -04:00
Ben Boeckel
d870a47e23 Tests/FortranModules: add a test for iface Fortran sources
This tests that a library that doesn't compile Fortran sources but
provides one via `INTERFACE` sources works as intended.
2023-09-20 09:18:01 -04:00
Ben Boeckel
e3d511fb9c Tests/FortranModules: also test INTERFACE targets with Fortran sources 2023-09-20 09:16:59 -04:00
Ben Boeckel
978b68d3bb add_custom_target: Fix regression with Fortran sources
Since commit 74b1d6caf3 (cmComputeLinkInformation: compute link info for
module-using targets, 2023-09-05, v3.27.5~7^2) we accidentally try to
compute link information for custom targets if they have Fortran
sources.  For module dependencies, we only need to consider target types
that can compile.

Fixes: #25252
2023-09-20 09:14:58 -04:00
Ben Boeckel
619aca80ae Tests/FortranModules: add a test case for #25223 2023-09-18 19:58:49 -04:00
Ben Boeckel
45513c1a69 Tests/FortranModules: move issue 25112 fix from FortranOnly
It involves modules, so it belongs in the `FortranModules` test set.
2023-09-18 19:41:47 -04:00
Brad King
7d3b4868d0 CMake 3.27.5 v3.27.5 2023-09-14 13:13:14 -04:00
Brad King
01f97f93c8 Merge topic 'cxxmodules-non-compiled-source' into release-3.27
458e3974a8 cxxmodules: detect and message about non-compiled sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8773
2023-09-14 13:01:20 -04:00
Brad King
1608b0be49 Merge topic 'automoc-macro-names' into release-3.27
42adf3cba8 Autogen: Evaluate INTERFACE_AUTOMOC_MACRO_NAMES efficiently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8799
2023-09-13 08:41:10 -04:00
Ben Boeckel
458e3974a8 cxxmodules: detect and message about non-compiled sources
Previously an internal error was raised which ended up causing an
internal exception to be thrown. This is a typo situation that should
fall into an explicit error.

Fixes: #25207
2023-09-12 14:46:36 -04:00
Brad King
42adf3cba8 Autogen: Evaluate INTERFACE_AUTOMOC_MACRO_NAMES efficiently
In commit c5c3aff1f5 (Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES target
property, 2023-04-03, v3.27.0-rc1~197^2) we forgot to mark the property
as a usage requirement.  This is needed for efficient evaluation over
the target dependency closure.

Fixes: #25238
2023-09-12 14:02:23 -04:00
Brad King
6f8746e27c Merge topic 'vs-cuda-object-libs' into release-3.27
6ebff6ebf8 VS: Avoid unnecessary CUDA device linking for OBJECT libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8794
2023-09-12 09:06:14 -04:00
Brad King
a159c2d3cf Merge topic 'FindBoost-1.83' into release-3.27
897a149067 FindBoost: Add support for Boost 1.83

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8793
2023-09-12 07:54:59 -04:00
Brad King
d2062ecc84 Merge topic 'FortranCInterface-macos-deployment-target' into release-3.27
84a097f038 FortranCInterface: forward `CMAKE_OSX_DEPLOYMENT_TARGET`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8790
2023-09-12 07:53:43 -04:00
Robert Maynard
6ebff6ebf8 VS: Avoid unnecessary CUDA device linking for OBJECT libraries
Without `CudaLink` fields, MSBuild tries to perform a device link step
for object libraries with CUDA_SEPARABLE_COMPILATION on them even when
not needed.  This commonly was encountered when generating PTX or
OPTIX-IR output.
2023-09-11 16:49:35 -04:00
Brad King
897a149067 FindBoost: Add support for Boost 1.83
Update the list of known versions.

Run the command

    cmake -DBOOST_DIR=/path/to/boost_1_83_0 \
      -P Utilities/Scripts/BoostScanDeps.cmake

to extract dependencies from the 1.83.0 source tree.

Dependencies differ from 1.82, as mentioned in the 1.83 release notes:

* Boost.Timer no longer depends on Boost.Chrono

Fixes: #25243
2023-09-11 09:54:49 -04:00
Ben Boeckel
84a097f038 FortranCInterface: forward CMAKE_OSX_DEPLOYMENT_TARGET
GCC needs to be taught about every macOS release it seems, so older
builds may not support usage on newer releases by default.
2023-09-10 21:11:34 -04:00
Brad King
9aa25ed804 Merge topic 'ctest_submit_follow_redirects' into release-3.27
26ce8dc290 ctest: Restore support for http redirects during Submit step

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8782
2023-09-08 08:58:55 -04:00
Zack Galbreath
26ce8dc290 ctest: Restore support for http redirects during Submit step
After CDash PR 1519 introduced HTTP status codes greater than 200 for
various error cases, CMake commit b7c871f745 (ctest: Update ctest_submit
for CDash behavior change, 2023-07-24, v3.27.1~3^2) modified CTest's
submit handler to check the status returned by CDash and throw an error
when this status is not equal to 200.

That change had the unintended side effect of causing CTest submissions
to fail when uploading results to a URL that returns a redirect status
code (3xx).  Fix this by configuring cURL to follow the redirect.  The
status cURL reports to CTest is now 200 instead of 3xx when CDash is
located behind a redirect.

Fixes: #25159
2023-09-07 15:37:27 -04:00
Brad King
d63f0be8fc Merge topic 'fortran-object-libraries' into release-3.27
74b1d6caf3 cmComputeLinkInformation: compute link info for module-using targets
6251edaed1 cmGeneratorTarget: support config-independent Fortran source queries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8772
2023-09-06 10:55:43 -04:00
Brad King
275656daea Merge topic 'doc-msvc-debug-format' into release-3.27
91dc94c4ac Help: MSVC_DEBUG_INFORMATION_FORMAT is initialized from associated variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8770
2023-09-06 10:51:39 -04:00
Ben Boeckel
74b1d6caf3 cmComputeLinkInformation: compute link info for module-using targets
Targets which contain C++ module or Fortran sources need to participate
in link information unconditionally regardless of whether they actually
have link artifacts or not.

Fixes: #25223
2023-09-05 18:12:25 -04:00
Ben Boeckel
6251edaed1 cmGeneratorTarget: support config-independent Fortran source queries
Some locations care about "any config with Fortran", so make a query for
such (they may not know any configuration names themselves).
2023-09-05 18:12:25 -04:00
Brad King
91dc94c4ac Help: MSVC_DEBUG_INFORMATION_FORMAT is initialized from associated variable
The `CMAKE_MSVC_DEBUG_INFORMATION_FORMAT` variable docs mention that it
initializes the `MSVC_DEBUG_INFORMATION_FORMAT` target property, but the
property's docs was missing any mention of the variable.

Follow the pattern from commit c1b07ca9da (Help: MSVC_RUNTIME_LIBRARY is
initialized from associated variable, 2022-08-13, v3.25.0-rc1~317^2).

Fixes: #25216
2023-09-05 15:01:04 -04:00
Brad King
8708b41532 Merge topic 'cxx-atomic' into release-3.27
fa3c4b6dbf Source: Link libatomic when needed on any Linux architecture

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8756
2023-08-25 09:41:26 -04:00
Brad King
fa3c4b6dbf Source: Link libatomic when needed on any Linux architecture
Extend commit 78bbd58545 (Source: Link libatomic when needed on Linux
32-bit ARM, 2023-07-27, v3.27.2~10^2) to check for libatomic on more
architectures.

Fixes: #25204
2023-08-24 13:05:45 -04:00
Brad King
c3977582b7 CMake 3.27.4 v3.27.4 2023-08-23 09:25:28 -04:00
Brad King
e076d9a6f4 Merge topic 'FindZLIB-1.3' into release-3.27
9034394950 FindZLIB: Fix extraction of two-component version number 1.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8753
2023-08-23 08:53:55 -04:00
Brad King
9034394950 FindZLIB: Fix extraction of two-component version number 1.3
Fixes: #25200
2023-08-22 15:08:35 -04:00
Brad King
1d1d905e15 Merge topic 'doc-cmake_minimum_required-deprecation' into release-3.27
741755f637 Help: Document cmake_minimum_required deprecation of old versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8742
2023-08-21 09:30:21 -04:00