Commit Graph

63282 Commits

Author SHA1 Message Date
Ben Boeckel 349ff8b080 cmGeneratorTarget: remove not-INTERFACE assertion
IMPORTED INTERFACE targets which provide C++ modules may have include
directories that need checked for whether they are system directories or
not. These directories are intended for the module compilation
themselves (which may include headers that module consumers do not need).
2023-09-26 14:31:42 -04:00
Ben Boeckel 681a763425 cmGeneratorTarget: use a character literal 2023-09-26 08:52:48 -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
Brad King c16f1e2b93 CUDA: Factor out helper to find CUDA Toolkit for compiler
Prepare to use it for other languages.
2023-09-21 15:34:28 -04:00
Brad King a6841a967b CUDA: Factor out helper to filter implicit link libraries
Prepare to use it for other languages.
2023-09-21 15:34:27 -04:00
Brad King deff0e638d CUDA: Factor out helper to parse NVCC implicit compiler and linker flags
Prepare to use it for other languages.
2023-09-21 15:34:27 -04:00
Brad King e1b2a5062f CUDA: Factor out some NVCC compiler information
Prepare to use nvcc for other languages.
2023-09-21 15:34:27 -04:00
Brad King f125dfcd30 CUDA: Clarify order of logic finding CUDA Toolkit for compiler
Finish all the search logic before using any results.
2023-09-21 15:34:27 -04:00
Brad King d08b7f3cda CUDA: Clarify compiler-specific logic in architectures table 2023-09-21 15:34:27 -04:00
Brad King 7b2aec0fef CUDA: Clarify logic detecting compiler default CUDA architectures
Improve variable names and comments.

Remove a comment missed by commit c267ed205a (CUDA: Defer architecture
testing to the compiler testing step, 2022-04-25, v3.24.0-rc1~222^2)
about architecture verification.
2023-09-21 15:34:27 -04:00
Brad King 69a5ef7cc0 CUDA: Simplify isolation of work variables for determining compiler
Unset variables as soon as we are done with them.
Rename one work variable to a private name.
2023-09-21 15:34:27 -04:00
Brad King 8a966debe3 CUDA: Combine consecutive blocks using same condition for determining compiler 2023-09-21 15:34:26 -04:00
Brad King 72efbeadae CUDA: Simplify CMAKE_GENERATOR references for determining compiler 2023-09-21 15:34:23 -04:00
Marc Chevrier 3bdf95f942 macOS: GNU toolchain: ensure framework, marked as SYSTEM, can be linked
Fixes: #25263
2023-09-21 16:29:40 +02:00
Ben Boeckel c2564f5916 ci: drop extra scandep source settings for GCC 2023-09-21 09:44:48 -04:00