Commit Graph

63295 Commits

Author SHA1 Message Date
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
Brad King dd1722d573 Merge branch 'release-3.27' 2023-09-26 09:30:10 -04:00
Brad King 7831781155 Merge topic 'lint-genex-empty'
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:10 -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
Brad King 0be496cb5a Merge topic 'orangec-compiler'
f8fa4f1ad7 ci: Add OrangeC 6.73.1 nightly CI job
531b4fe643 OrangeC: Add support for OrangeC compiler
10f435a58f Tests: Simplify nested if conditions in Complex tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Victor <lostfreeman@gmail.com>
Merge-request: !8592
2023-09-26 09:23:10 -04:00
Brad King 187fb1911f Merge topic 'add-c++23'
961a077238 IBMClang: Add provisional flags for C++23

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8837
2023-09-26 09:18:10 -04:00
Craig Scott 8a90ae92af Merge topic 'FetchContent-EXCLUDE_FROM_ALL'
5f77807f1c FetchContent: Add support for EXCLUDE_FROM_ALL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8822
2023-09-26 08:35:45 -04:00
Kitware Robot 3330869964 CMake Nightly Date Stamp 2023-09-26 00:01:11 -04:00
Xing Xue 961a077238 IBMClang: Add provisional flags for C++23
With this one can use the IBM Open XL C/C++ compiler to build projects
that require feature `cxx_std_23`.
2023-09-25 19:05:31 -04:00
Steven Stallion 5f77807f1c FetchContent: Add support for EXCLUDE_FROM_ALL
Fixes: #20167
2023-09-26 08:56:44 +10:00
Brad King f8fa4f1ad7 ci: Add OrangeC 6.73.1 nightly CI job 2023-09-25 12:27:45 -04:00
David Lindauer 531b4fe643 OrangeC: Add support for OrangeC compiler
Add compiler information modules.  Update the test suite.

Fixes: #25032
Co-authored-by: Brad King <brad.king@kitware.com>
2023-09-25 12:27:29 -04:00
Brad King 10f435a58f Tests: Simplify nested if conditions in Complex tests 2023-09-25 11:08:21 -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 9575e6f57b Merge topic 'update-curl'
e3572c110a curl: Set build options the way we need for CMake
c1f76e6c21 Merge branch 'upstream-curl' into update-curl
017637e40f curl 2023-09-13 (6fa1d817)
1fb19cbdad curl: Update script to get curl 8.3.0
21b668afc2 Utilities: Drop unused hard-coded try_compile result

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8826
2023-09-25 09:00:29 -04:00
Brad King 62d93c9f43 Merge topic 'FindDoxygen-broken-binary'
a960b901de FindDoxygen: Remove redundant debug message when Doxygen fails
59a4aaa237 FindDoxygen: Disable Doxygen if executable returns non-zero result

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8815
2023-09-25 08:59:43 -04:00
Brad King 89d155e1bb Merge topic 'CrayClang-compiler'
80838316a8 CrayClang: Add support for this compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8781
2023-09-25 08:58:25 -04:00
Brad King 81cdf34383 Merge topic 'tests-in-symlink-tree'
d9f1431f92 ci: Add jobs that run in symlink trees
879d12a29d ci: Always build Ninja with Unix Makefiles generator
8340313916 ci: Factor out debian12_ninja configure script
25d7843955 ci: Factor out build directory for finding artifacts
a7534c31e6 Tests: Update tests to run in multi-config generators
59b0ae6b24 Tests: Update tests to run in symlinked tree

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8797
2023-09-25 08:57:30 -04:00
Brad King 82a2f198d8 Merge topic 'cxxmodules-gcc-14'
4089954595 gitlab-ci: update to GCC CI container with merged P1689R5
c2564f5916 ci: drop extra scandep source settings for GCC
ee52a02d56 ci: update GCC build to use master after P1689R5 is merged
4f0410959e GCC: add rules for scanning C++ module dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8827
2023-09-25 08:56:04 -04:00
Kitware Robot 1db7ca915f CMake Nightly Date Stamp 2023-09-25 00:01:47 -04:00
Kitware Robot 8847fceac6 CMake Nightly Date Stamp 2023-09-24 00:01:12 -04:00
Kitware Robot b26892e8a2 CMake Nightly Date Stamp 2023-09-23 00:01:12 -04:00
Brad King e3572c110a curl: Set build options the way we need for CMake
Also restore commit a8d91e2719 (curl: Precompile common expensive
headers, 2023-06-16) with new curl library target.
2023-09-22 11:18:50 -04:00
Brad King c1f76e6c21 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2023-09-13 (6fa1d817)

Upstream significantly refactored `lib/CMakeLists.txt`, so take the
upstream version of everything except the code added by commit
54cb23c657 (curl: Restore installation of OpenSSL DLLs, 2014-11-03,
v3.2.0-rc1~418^2~4).  We will apply our customizations again in a
follow-up commit.
2023-09-22 10:55:37 -04:00
Christoph Grüninger a960b901de FindDoxygen: Remove redundant debug message when Doxygen fails
We warn for this now.
2023-09-22 10:11:30 -04:00
Christoph Grüninger 59a4aaa237 FindDoxygen: Disable Doxygen if executable returns non-zero result
This makes detection of Doxygen more robust in case of broken Doxygen
executables. Doxygen is called to determine its version number. If this
call returns a non-zero result, we have an indication that the Doxygen
executable is broken. We report Doxygen as not found to prevent issues
with checks for other Doxygen component, that might lead to
configuration aborts.

Fixes: #18708
2023-09-22 10:11:22 -04:00
Ryan Krattiger 80838316a8 CrayClang: Add support for this compiler
Add `CrayClang` compiler ID for newer Cray compilers.

Fixes: #25102
2023-09-22 09:39:52 -04:00
Kyle Edwards d9f1431f92 ci: Add jobs that run in symlink trees 2023-09-22 09:30:52 -04:00
Kyle Edwards 879d12a29d ci: Always build Ninja with Unix Makefiles generator
The build for Ninja should not be affected by the CMAKE_GENERATOR
environment variable.
2023-09-22 09:30:52 -04:00
Kyle Edwards 8340313916 ci: Factor out debian12_ninja configure script 2023-09-22 09:30:52 -04:00
Kyle Edwards 25d7843955 ci: Factor out build directory for finding artifacts
Some jobs will run in a build directory other than
$CI_PROJECT_DIR/build, and will produce artifacts in a different
directory. Add a variable specifying where to find the artifacts, and
set it to build/ by default.
2023-09-22 09:30:52 -04:00
Kyle Edwards a7534c31e6 Tests: Update tests to run in multi-config generators 2023-09-22 09:30:52 -04:00
Kyle Edwards 59b0ae6b24 Tests: Update tests to run in symlinked tree 2023-09-22 09:30:52 -04:00
Brad King 122ec98dcf Merge topic 'hip-nvidia'
6546aa2a2a ci: Add HIP job using CUDA on NVIDIA GPUs
18158bf81c HIP: Add support for NVIDIA GPUs
127b6fa06b HIP: Add CMAKE_HIP_PLATFORM variable to specify GPU platform
90e23f40ee Tests/HIP/WithDefs: Clean up test case
9ebdf3281f Tests/HIP/ArchitectureOff: Cover HIP_ARCHITECTURES initialization
cfec29196e ci: Add CUDA 11.8 to HIP 5.5 image
26470eb987 ci: Put HIP GPU platform in CMake_TEST_HIP

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8817
2023-09-22 09:19:52 -04:00
Brad King d2655c59dc Merge topic 'cuda-factor-out-lang'
b32ea7cff0 CUDA: Factor out helper to generate CUDA architecture flags
b3a1f17567 CUDA: Factor out helper to validate CMAKE_CUDA_ARCHITECTURES
8617c28221 CUDA: Factor out helper for detecting native CUDA architectures
0db0fe7958 CUDA: Factor out helper to compute all CUDA architectures
c16f1e2b93 CUDA: Factor out helper to find CUDA Toolkit for compiler
a6841a967b CUDA: Factor out helper to filter implicit link libraries
deff0e638d CUDA: Factor out helper to parse NVCC implicit compiler and linker flags
e1b2a5062f CUDA: Factor out some NVCC compiler information
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !8816
2023-09-22 09:18:53 -04:00
Brad King 2dafd1f092 Merge topic 'macOS-system-framework-link'
3bdf95f942 macOS: GNU toolchain: ensure framework, marked as SYSTEM, can be linked

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8825
2023-09-22 09:07:11 -04:00
Brad King af888a07f8 Merge topic 'macOS-simplify-framework-link-option'
a61c1d6ff4 macOS: Framework: simplify link flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !8824
2023-09-22 09:06:10 -04:00
Kitware Robot cc49d22e62 CMake Nightly Date Stamp 2023-09-22 00:01:16 -04:00
Ben Boeckel 4089954595 gitlab-ci: update to GCC CI container with merged P1689R5 2023-09-21 22:02:24 -04:00
Brad King 6546aa2a2a ci: Add HIP job using CUDA on NVIDIA GPUs 2023-09-21 15:34:37 -04:00
Brad King 18158bf81c HIP: Add support for NVIDIA GPUs
Add support for using the CUDA Toolkit's NVCC to compile HIP code.

Fixes: #25143
2023-09-21 15:34:37 -04:00
Brad King 127b6fa06b HIP: Add CMAKE_HIP_PLATFORM variable to specify GPU platform
For now, require the value to be `amd`, since that is the only
platform we currently support.
2023-09-21 15:34:37 -04:00
Brad King 90e23f40ee Tests/HIP/WithDefs: Clean up test case
Fix code copied from equivalent CUDA test.

Drop `CMAKE_HIP_ARCHITECTURES=OFF`.  That is already covered by
a dedicated `HIP.ArchitectureOff` test.
2023-09-21 15:34:37 -04:00
Brad King 9ebdf3281f Tests/HIP/ArchitectureOff: Cover HIP_ARCHITECTURES initialization
Verify that the property is initialized by `CMAKE_HIP_ARCHITECTURES`.
2023-09-21 15:34:37 -04:00
Brad King cfec29196e ci: Add CUDA 11.8 to HIP 5.5 image 2023-09-21 15:34:37 -04:00
Brad King 26470eb987 ci: Put HIP GPU platform in CMake_TEST_HIP
The `CMake_TEST_HIP` option is added explicitly to builds where we want
the tests to run, so we can set it to a value indicating the HIP GPU
platform.
2023-09-21 15:34:36 -04:00
Brad King b32ea7cff0 CUDA: Factor out helper to generate CUDA architecture flags
Prepare to use it for other languages.
2023-09-21 15:34:28 -04:00
Brad King b3a1f17567 CUDA: Factor out helper to validate CMAKE_CUDA_ARCHITECTURES
Prepare to use it for other languages.
2023-09-21 15:34:28 -04:00
Brad King 8617c28221 CUDA: Factor out helper for detecting native CUDA architectures
Prepare to use it for other languages.
2023-09-21 15:34:28 -04:00
Brad King 0db0fe7958 CUDA: Factor out helper to compute all CUDA architectures
Prepare to use it for other languages.
2023-09-21 15:34:28 -04:00