The SwiftMixLib test was failing on Windows due to a missing link
against swiftCore. On macOS and Linux, there are mechanisms for
extracting the libraries that the object depends on and passing that to
the linker so that the library dependencies don't need to be listed
explicitly. The Windows Swift toolchain does not have this mechanism.
In the future, it would likely make sense for CMake to pass some of the
implicitly required libraries for linking Swift via
`CMAKE_Swift_IMPLICIT_LINK_LIBRARIES`. Unlike the normal mechanisms
though, these libraries would need to be passed even when the link
language is Swift.
For now though, we should get the test up and running again.
Fixes: #25573
Our vendored curl only enables the Secure Transport backend by default
(`CURL_SSL_BACKEND=secure-transport`), but it is limited to TLS 1.2.
The macOS SDK provides the curl development components, and the
corresponding `libcurl.4.dylib` runtime library comes with macOS.
On macOS 12 and above, the default `CURL_SSL_BACKEND=openssl`
backend seems to be capable of selecting TLS 1.3 at runtime for
https connections.
Unfortunately the macOS version of curl, even on macOS 14.4, does
not accept `CURL_SSLVERSION_TLSv1_3` at runtime to enforce TLS 1.3.
However, while our vendored curl accepts the option and passes it
to Secure Transport, macOS does not actually enforce it anyway.
Fixes: #25870Fixes: #23701
The ROCm 6 HIP packages on Fedora 40 do not seem to fully
work for our test suite in CI jobs. Use a dedicated image
to run our HIP tests on Fedora 39 so that the rest of our
Fedora jobs can be moved to Fedora 40 later.
Issue: #25932
The ROCm 6 HIP packages on Fedora 40 do not seem to fully
work for our test suite in CI jobs. Add a dedicated image
to run our HIP tests on Fedora 39.
Issue: #25932
31acc90abe ci: Record expected C and CXX language standard support
c37e279014 Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features
58cd9ee03c Tests/CompileFeatures: Factor out headers to compute C and C++ standard levels
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9401
Explicitly enable standard levels in the `CompileFeatures` test that are
expected to work in each job regardless of whether compiler inspection
detects support.
Previously we provided a `.zip` archive with CRLF newlines and a
`.tar.gz` archive with LF newlines. This is no longer consistent
with modern conventions. Use LF newlines in both.
Fixes: #25467
* Add tests for standalone NASM usage
* Change generic ASM_NASM executable linker to <CMAKE_LINKER>
* Use CMAKE_SYSTEM_PROCESSOR to determine output format when used
without a C/CXX compiler
Extend the change from commit 840fa28d3d (ci: Explicitly disable Java
tests on Windows, 2021-12-16, v3.22.2~17^2) to cover NMake, JOM, and
Ninja Multi-Config jobs.
6c09451ed3 ci: Enable FindOpenMP tests in Intel nightly CI jobs on Windows
d427bfae61 FindOpenMP: Restore support for Intel compilers on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9284
Follow the approach from commit 9ff7fffbf4 (ci: host WiX 3.14.0.6526
binaries ourselves, 2022-08-02, v3.24.0~6^2) for the updated version.
Since we use WiX to package our official release binaries, avoid relying
on an externally-hosted package by hosting it at `cmake.org`.
3adeb3b470 ci: Enable FindOpenMP tests in LLVM/Clang nightly CI jobs on Windows
3019af64c2 FindOpenMP: Add support for GNU-like Clang targeting MSVC ABI
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9235
3adeb3b470 ci: Enable FindOpenMP tests in LLVM/Clang nightly CI jobs on Windows
3019af64c2 FindOpenMP: Add support for GNU-like Clang targeting MSVC ABI
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9235
04959e0285 Tests: Verify CUDA::cupti existence on a subset of machines
09a3c8b46b CUDAToolkit: Correctly search all include paths from compiler
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9072
5123e9e160 ci: unmask RPM tests on Fedora 39
bf22ac5263 CPack/RPM: Quote paths in rpm spec only if they have whitespace
75ea6207b7 CPack/RPM: Factor out helper to quote paths in generated rpm spec
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9005
cdd741ebf9 Merge branch 'backport-ci-fedora-39' into ci-fedora-39
9283b20659 ci: Suppress CPack/RPM tests pending fix for Fedora 39
18145e8745 ci: Update FindMPI test environment for mpich on Fedora 39
a8be80ccf2 ci: Drop now-unnecessary Clang rules for CXXModules tests
99238b23e9 ci: use Fedora 39 images and environments
57eadec617 ci: update Linux image to Fedora 39
653262162c clang-tidy module: Update to build against LLVM/Clang 17
2cf9a65835 clang-tidy: ignore warnings new in version 17
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8983
437280b127 cxxmodules: scan C++ sources for imports by default
3cddd11649 Ninja: message about not compiled sources explicitly
068fde1c34 cmGeneratorTarget: use `this->` for method calls
197a6bf171 cxxmodules: rework control logic for scanning regular C++ sources
5eb7bd641a Tests/RunCMake/CXXModules: remove rules file requirement
ff18acc301 CXXModules: remove `EXPERIMENTAL` from C++ module variable names
0c07f39006 cmExperimental: remove the flag for C++ modules
68caec9137 Help: add a manpage for cxxmodule support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !8828
Improves the handling of CUDA layouts where we have multiple include
and library directories listed in the output of `nvcc -v`. This
updates both when the CUDA language is enabled or not.
Fixes: #24915
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
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
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.
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
48ee946fdc cmExperimental: recycle the C++ modules API UUID
1a1806a71b gitlab-ci: declare `bmionly` support for modules where possible
457a12f3f9 Tests/RunCMake/CXXModules: add tests which use modules from imported targets
9b9ec70b54 Ninja: generate scanning and build rules for C++20 module synthetic targets
80ef50a191 CXXModules: add a variable for BMI-only compilation
80d6544398 cxxmodules: generate synthetic targets as an initial pass
3dc6676ecc cmSyntheticTargetCache: add a struct for synthetic target caching
cb356b540c cmCxxModuleUsageEffects: add a class to capture module usage effects
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8535