Commit Graph

62383 Commits

Author SHA1 Message Date
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 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
Brad King 741755f637 Help: Document cmake_minimum_required deprecation of old versions
Document the deprecation warnings added by commit 5845c218d7 (Deprecate
compatibility with CMake versions older than 2.8.12, 2020-06-12,
v3.19.0-rc1~629^2) and commit 3a4791548d (Deprecate compatibility with
CMake versions older than 3.5, 2023-02-09, v3.27.0-rc1~508^2).

Fixes: #25196
2023-08-19 09:03:53 -04:00
Brad King eab1f33eff Merge topic 'LLVMFlang-Fortran-flags' into release-3.27
1140087ade LLVMFlang-Fortran: Add flags for build types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8741
2023-08-19 08:53:31 -04:00
Tarun Prabhu 1140087ade LLVMFlang-Fortran: Add flags for build types
Fixes: #25193
2023-08-19 08:47:44 -04:00
Brad King 26dfdd76e6 Merge topic 'vs-props-order' into release-3.27
e4fe26201f VS: Remove duplicate import in compiler id vcxproj

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8740
2023-08-19 08:40:11 -04:00
Brad King 882b8c1d36 Merge topic 'update-cppdap' into release-3.27
90df1e5da4 Merge branch 'upstream-cppdap' into update-cppdap
5d568df6b1 cppdap 2023-08-17 (cc2f2058)
01d2e5ed3a cppdap: Update script to get version as of 2023-08-17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8739
2023-08-19 08:38:38 -04:00
Brad King 32226fa84b Merge topic 'cmList-INSERT-regression' into release-3.27
45ed175f08 list(INSERT): restore old behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8732
2023-08-19 08:37:08 -04:00
Brad King e4fe26201f VS: Remove duplicate import in compiler id vcxproj
Since commit d3c4c6d630 (VS: Import default C++ props file before
toolset-specific props file, 2023-03-01, v3.27.0-rc1~361^2) we import
`Microsoft.Cpp.Default.props` twice.  Remove the extra import line, and
re-order imports as intended by the original change.
2023-08-18 09:49:25 -04:00
Brad King 90df1e5da4 Merge branch 'upstream-cppdap' into update-cppdap
# By cppdap Upstream
* upstream-cppdap:
  cppdap 2023-08-17 (cc2f2058)
2023-08-18 09:00:14 -04:00
cppdap Upstream 5d568df6b1 cppdap 2023-08-17 (cc2f2058)
Code extracted from:

    https://github.com/google/cppdap.git

at commit cc2f2058846bb29e18fdadf455d5f5af71b2554f (cc2f2058846bb29e18fdadf455d5f5af71b2554f).
2023-08-18 09:00:14 -04:00
Brad King 01d2e5ed3a cppdap: Update script to get version as of 2023-08-17 2023-08-18 08:59:58 -04:00
Marc Chevrier 45ed175f08 list(INSERT): restore old behavior
Fixes: #25191
2023-08-17 12:07:41 +02:00
Brad King a69c783749 CMake 3.27.3 v3.27.3 2023-08-16 13:46:35 -04:00
Brad King e429986b23 Merge topic 'rel-no-doc' into release-3.27
30b1080c69 Utilities/Release: Remove unused documentation build settings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8730
2023-08-16 13:33:52 -04:00
Brad King 589ef0d22c Merge topic 'test-debugger-named-pipe-fix' into release-3.27
1a5cb0c1c1 testDebuggerNamedPipe: fix for cppdap with nlohmann_json

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8725
2023-08-16 13:31:56 -04:00