Commit Graph

63315 Commits

Author SHA1 Message Date
Brad King
84a1e529ee Tests: Fix failures on macOS arm64 due to Xcode 15 skipping ad-hoc signature
Update commit 1c15eb39d2 (Tests: Suppress failures on macOS arm64 due to
separate Xcode signing phase, 2021-02-22, v3.20.0-rc2~11^2) for Xcode 15,
which ignores our `-Xlinker -adhoc_codesign` flag, prioritizes its own
`-Xlinker -no_adhoc_codesign` flag, and does not add an ad-hoc signature
at link time.

Issue: #21845
2023-09-26 10:04:08 -04:00
Brad King
cc5d6134ad Tests: Disable visionOS cases because Xcode 15.0 excludes support
In commit 25977e177b (apple: add preliminary visionOS support, 2023-06-22)
we added visionOS based on a Xcode 15 beta version, but the Xcode 15.0
final release did not include it.  Disable the test cases until we can
improve the condition to detect availability.

Issue: #25266
2023-09-26 10:04:08 -04:00
Brad King
f9f5751d18 Tests: Clarify RunCMake.XcFramework conditions testing Xcode version
In commit 7050ac56a1 (macOS: Add support for linking against .xcframework
folders, 2023-05-17) used conditions based on the AppleClang compiler
version, but we actually want to check the Xcode version.
2023-09-26 10:04:07 -04:00
Brad King
e0765c2c46 Tests: Teach RunCMake to ignore Xcode DVTAssertions warnings
On some Xcode versions, `xcodebuild` may warn:

    ... xcodebuild[...] DVTAssertions: Warning ...

Teach RunCMake to drop such incidental lines before matching against
expected output.
2023-09-26 10:04:07 -04:00
Brad King
5a79ea2799 Merge topic 'cuda_handle_target_objects_in_device_link'
cd984261e1 CUDA: Device linking now uses TARGET_OBJECTS content
aa8facefe8 CUDA: Visual Studio propagate objects to device linking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8829
2023-09-26 09:42:42 -04:00
Brad King
5d32320bf3 Merge topic 'hip-nvidia'
fd982eec10 HIP: Add tests for special NVIDIA values of CMAKE_HIP_ARCHITECTURES
8c8b3f1bfa HIP: Fix support for -DCMAKE_HIP_ARCHITECTURES=native with NVCC
b3e92775ab HIP: Add CMAKE_HIP_HOST_COMPILER when compiler is NVCC
e43918b4ca HIP: Fix linking mixed-lang binary with CXX compiler and Makefile generators
4794505122 HIP: Do not require hip-lang package for NVIDIA platform
09d759dc7f HIP: Simplify exclusion of AMD device runtime with NVIDIA GPUs
2a60663670 HIP: Simplify CMAKE_GENERATOR references for determining compiler
8124950f6c CUDA: Generalize CMAKE_{CUDA => <LANG>}_HOST_COMPILER variable docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8836
2023-09-26 09:40:25 -04:00
Brad King
ccd5359003 Merge topic 'doc1'
449f5da373 Help:cmake(1): add versionadded back to 3.17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8831
2023-09-26 09:39:20 -04:00
Brad King
8a39d146d4 Merge topic 'FindOpenMP-macOS-LLVM-Clang'
3cff031c9a FindOpenMP: Handle non-Apple clang on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8832
2023-09-26 09:33:02 -04:00
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
fd982eec10 HIP: Add tests for special NVIDIA values of CMAKE_HIP_ARCHITECTURES 2023-09-25 16:23:00 -04:00
Brad King
8c8b3f1bfa HIP: Fix support for -DCMAKE_HIP_ARCHITECTURES=native with NVCC 2023-09-25 16:21:55 -04:00
Brad King
b3e92775ab HIP: Add CMAKE_HIP_HOST_COMPILER when compiler is NVCC
Also add `HIPHOSTCXX` environment variable.
2023-09-25 16:11:18 -04:00
Brad King
e43918b4ca HIP: Fix linking mixed-lang binary with CXX compiler and Makefile generators
Following commit 6377a43814 (CUDA: Support response files with nvcc,
2022-06-01, v3.25.0-rc1~636^2), while determining the compiler ABI, do
not use response files, so that we can extract implicit link flags.

Fixes: #25272
2023-09-25 16:06:36 -04:00
Brad King
4794505122 HIP: Do not require hip-lang package for NVIDIA platform
ROCm may not install the `hip-lang` cmake package on NVIDIA platforms.
Skip verifying its presence.  We do not use it for NVIDIA platforms anyway.

Fixes: #25271
2023-09-25 16:06:36 -04:00
Brad King
09d759dc7f HIP: Simplify exclusion of AMD device runtime with NVIDIA GPUs 2023-09-25 16:06:36 -04:00
Brad King
2a60663670 HIP: Simplify CMAKE_GENERATOR references for determining compiler 2023-09-25 16:06:36 -04:00
Brad King
8124950f6c CUDA: Generalize CMAKE_{CUDA => <LANG>}_HOST_COMPILER variable docs 2023-09-25 16:06:30 -04: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
Robert Maynard
cd984261e1 CUDA: Device linking now uses TARGET_OBJECTS content
Due to an oversight in cmLinkLineDeviceComputer object
files did not get propagate to the device linking phase
when given via the `$<TARGET_OBJECTS>` generator expression.
2023-09-25 08:50:38 -04:00
Kitware Robot
1db7ca915f CMake Nightly Date Stamp 2023-09-25 00:01:47 -04:00
scivision
449f5da373 Help:cmake(1): add versionadded back to 3.17 2023-09-24 14:41:13 -04:00
Keno Fischer
3cff031c9a FindOpenMP: Handle non-Apple clang on macOS
I was noticing that FindOpenMP was failing to find my openmp installation
on macos when building with a custom-compiled clang. Upon inspection it
appears that FindOpenMP is looking for `AppleClang` as a compiler
identification and the `Clang` case is only applicable for Win32.
Try to fix that by treating custom `Clang` on macos the same as
`AppleClang`.
2023-09-24 19:28:58 +02: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
Robert Maynard
aa8facefe8 CUDA: Visual Studio propagate objects to device linking
When given objects via `target_link_libraries(consumer PRIVATE producer)` the VisualStudio solution adds the objects
under as `<Object>` entries in the solution.

This works for host side linking but isn't handled by
the cuda msbuild extensions. So to work around this we
manually add the objects as additional link items.
2023-09-22 11:54: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