Commit Graph

571 Commits

Author SHA1 Message Date
Brad King
8a38a90e2e ci: Enable assertions in CMake build jobs on macOS
We did this previously on Linux and Windows:

* commit 45feab3c00 (gitlab-ci: enable assertions on fedora34-ninja jobs,
                     2022-01-31, v3.23.0-rc1~37^2)
* commit bec34592a6 (ci: Enable assertions in CMake build job on Windows,
                     2024-12-19)

The macOS build jobs were already building the `Release` configuration
by default.  Make it explicit to be sure we use these flags.
2025-01-21 16:00:23 -05:00
Brad King
2481de0353 ci: Record expected C and CXX language standard support for NVHPC
Extend commit 31acc90abe (ci: Record expected C and CXX language
standard support, 2024-04-02, v3.30.0-rc1~279^2) to cover the NVHPC job.
2025-01-15 13:49:23 -05:00
Brad King
569221f40f ci: Update NVHPC to version 24.9
Fixes: #24187
2025-01-15 13:49:18 -05:00
Ben Boeckel
2a0ca6a26d ci: add jobs to test GCC 15-to-be with import std 2025-01-08 16:32:14 -05:00
Brad King
bec34592a6 ci: Enable assertions in CMake build job on Windows
Since commit 5b564c371e (gitlab-ci: add Windows infrastructure,
2020-05-20, v3.18.0-rc1~102^2~1) we build with the `Release`
configuration on Windows to avoid the `-Zi` flag.  However, that also
compiles with `-DNDEBUG` by default, thus suppressing assertions.
Since the build is meant for testing, enable assertions again.
2024-12-19 11:38:03 -05:00
Brad King
1f3eb6c4d4 ci: update copyright year as part of CMake Nightly Date Stamp
Extend commit 0f82d07266 (ci: add job to update CMake Nightly Date
Stamp, 2024-12-17) to update the year range in `Copyright.txt` on
January 1 so we don't have to update it manually once per year.
Our `CMake.Copyright` test verifies that these match.
2024-12-18 09:04:14 -05:00
Brad King
0f82d07266 ci: add job to update CMake Nightly Date Stamp
Previously the nightly version update was performed by an
externally-managed scheduled task.  Move it to CI.
2024-12-17 14:48:08 -05:00
Brad King
4de5ef45f0 ci: Enable Swift tests in Ninja Multi-Config job on Windows 2024-12-09 13:43:28 -05:00
Brad King
055e17054f Merge topic 'ci-fedora-41'
ec682ff22a ci: Update to ROCm 6 HIP on Fedora 41

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10069
2024-12-05 08:07:56 -05:00
Brad King
ec682ff22a ci: Update to ROCm 6 HIP on Fedora 41
The problem that motivated commit 3a44b8dfc0 (ci: Move job for HIP tests
on Fedora 39 to a dedicated base image, 2024-04-24, v3.30.0-rc1~202^2~11)
turns out to be exposed by spaces in the path to HIP binaries.  Move the
CI work directory to a path without spaces.

Closes: #25932
2024-12-04 12:35:01 -05:00
Brad King
cc626365ca ci: Add VS 2022 nightly job in path with international characters
Test that VS generators encode paths correctly.
2024-11-29 10:39:42 -05:00
Brad King
fff8e3f6f3 ci: Rebuild Fedora 41 image with updates
In particular, get:

* flang-19.1.0-2.fc41 to restore OpenMP support
* IWYU 0.23 for LLVM/Clang 19 support
2024-11-11 14:35:00 -05:00
Brad King
4002b6c60a Merge topic 'ci-vcvarsall-fix' into release-3.31
c1ddff67f2 ci: use JSON to transfer environment variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9963
2024-11-01 09:09:51 -04:00
Ben Boeckel
c1ddff67f2 ci: use JSON to transfer environment variables
The `set` command in `cmd` has terrible properties in that there's no
real structure to it. Sensitive sequences in values or variable names
that are escaping sequences can be interpreted at the wrong time or
things like newlines in values are not escaped at all and cause
ambiguities in parsing. Avoid all of that and use PowerShell to use JSON
as a communication mechanism.
2024-10-31 08:52:52 -04:00
Brad King
c8591c61d8 ci: use Fedora 41 images and environments 2024-10-26 06:01:10 -04:00
Brad King
46d89b8524 ci: update Linux image to Fedora 41 2024-10-26 06:01:10 -04:00
Brad King
19d81b357c ci: Host our own URL to test expected TLS_VERSION failure
Avoid unnecessary load on an external resource.
2024-10-21 16:54:46 -04:00
Brad King
2a8d7e76ef ci: Update ctest scripts with policies through CMake 3.29
Since commit 84db8506ff (Deprecate compatibility with CMake versions
older than 3.10, 2024-10-03) some of the scripts warned when executed
with a `ctest` built earlier in the pipeline.
2024-10-08 10:32:06 -04:00
Brad King
a4b60d948d FindOpenMP: Add support for CUDA when compiling with Clang 2024-10-07 14:19:08 -04:00
Brad King
8f4cea94da FindOpenMP: Add support for CUDA when supported by the toolchain
NVCC supports OpenMP on the host when the host compiler does.
2024-09-27 16:45:24 -04:00
Brad King
5204262c0e ci: add libomp to cuda12.2 base image 2024-09-27 09:55:47 -04:00
Brad King
515bcd77e5 ci: add job testing cuda12.2 with nvcc using clang 18 as host compiler 2024-09-25 16:53:06 -04:00
Brad King
5d2ea8371d Tests/RunCMake/file-DOWNLOAD: Add case covering TLS_VERSION values 2024-09-24 12:37:45 -04:00
Brad King
7fe17adf8d Merge topic 'ci-clang19-windows'
96bcf7db16 ci: Update LLVM/Clang to 19.1 in nightly CI jobs on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9834
2024-09-20 10:11:03 -04:00
Brad King
2cfe2ac0c7 Merge topic 'update-curl'
022d16659b curl: Work around missing OpenSSL symbol with LCC 1.23
01dde28dab ci: curl with Secure Transport on macOS does not support TLS 1.3
da52e4e571 curl: Set build options the way we need for CMake
ce908c42a3 Merge branch 'upstream-curl' into update-curl
1a2b208170 curl 2024-09-18 (7eb8c048)
862bd5defc curl: Update script to get curl 8.10.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9832
2024-09-20 10:09:47 -04:00
Brad King
b9eb9cfbac Merge topic 'ci-xcode-16.0'
cc293b4963 ci: Run RunCMake.ExternalProject serially in macos-x86_64 Xcode job
26359076c8 gitlab-ci: update macOS jobs to use Xcode 16.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9830
2024-09-20 10:02:53 -04:00
Brad King
96bcf7db16 ci: Update LLVM/Clang to 19.1 in nightly CI jobs on Windows 2024-09-19 11:58:41 -04:00
Brad King
cc293b4963 ci: Run RunCMake.ExternalProject serially in macos-x86_64 Xcode job
Running tests concurrently makes the machine busy enough that the
`INACTIVITY_TIMEOUT` test cases timeout.  Run it serially.
2024-09-19 10:44:01 -04:00
Brad King
01dde28dab ci: curl with Secure Transport on macOS does not support TLS 1.3
curl 8.10 now rejects TLS 1.3 since the Secure Transport backend
does not support it.
2024-09-19 10:30:05 -04:00
Brad King
26359076c8 gitlab-ci: update macOS jobs to use Xcode 16.0
The `XCTest` fails with Xcode 16.0.
Exclude it pending further investigation.

Issue: #26301
2024-09-17 14:35:26 -04:00
Brad King
474eafe28c clang-cl: Add support for C++23
Although there is no `cl -std:c++23` flag, the underlying Clang compiler
does have a C++23 mode we can activate by passing `-std=c++23` through a
`clang-cl` wrapper flag.

Fixes: #26061
2024-09-13 12:28:49 -04:00
Brad King
4889010295 ci: Enable IAR test on some Windows jobs in nightly pipeline
Issue: #23308
2024-09-05 10:19:17 -04:00
Brad King
3cdf03c2e8 ci: Add scripts to provide IAR toolchains on Windows
Run `.gitlab/ci/repackage/iar.ps1` with each IAR installer and host the
package archives ourselves.
2024-09-05 10:18:43 -04:00
Brad King
c07148f29f ci: Add script to repackage IAR toolchains for Windows
IAR toolchains for Windows are provided only via installer executables.
Add a script to repackage the parts we need for CMake's CI jobs.
2024-09-05 10:10:49 -04:00
Brad King
2daeb0b504 Merge topic 'build-databases'
e77655555c cmExperimental: gate build database support behind a flag
23cbeb5035 ci: enable `build_database` CXXModules tests
6863c1d823 Tests/CXXModules: add tests for module commands
123107c1a4 Tests/CXXModules: add support for running targets under a given config
438038b5e1 Tests/CXXModules: support building specific targets of example trees
84bc710d84 cmGlobalGenerator: generate build database files for targets
670f753f24 cmDyndepCollation: write build database metadata
dcf9a66ffe cxxmodules: plumb control data for exporting build databases
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9708
2024-09-05 09:20:23 -04:00
Felipe Torrezan
d478ffcd72 Tests/RunCMake/IAR: Add missing linker options for RH850
Closes: #26249
2024-09-03 10:25:55 -04:00
Ben Boeckel
23cbeb5035 ci: enable build_database CXXModules tests 2024-09-03 10:05:40 -04:00
Brad King
61039ae8f1 ci: Enable IAR test on some Debian jobs in nightly pipeline
Closes: #23308
2024-08-29 13:19:15 -04:00
Brad King
15136efedc ci: Add IAR compiler package dependencies to Debian image 2024-08-27 10:22:03 -04:00
Brad King
15dc1a357b ci: Update LLVM/Clang to 18.1 in nightly CI jobs on Windows 2024-08-22 11:47:50 -04:00
Brad King
dfe196c7b1 Merge topic 'swift-test-windows'
0b0c70d1bf Swift: Enable SwiftMixLib Test on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9746
2024-08-20 11:47:52 -04:00
Brad King
67a92743ab Merge topic 'ci-ninja-1.12.1'
6fb9e92238 ci: update to use ninja 1.12.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9756
2024-08-20 11:21:01 -04:00
Evan Wilde
0b0c70d1bf
Swift: Enable SwiftMixLib Test on Windows
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
2024-08-19 11:54:12 -07:00
Brad King
6fb9e92238 ci: update to use ninja 1.12.1 2024-08-19 13:41:42 -04:00
Brad King
aff38fed4f ci: Add nightly jobs for LFortran on Fedora 2024-07-23 10:29:02 -04:00
Brad King
a0def56402 ci: Add lfortran to Fedora base image 2024-07-23 10:28:41 -04:00
Brad King
e544859c8d Merge topic 'ci-cmake-update'
927300d4a0 ci: Update CMake version to 3.30.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9671
2024-07-19 10:05:51 -04:00
Brad King
927300d4a0 ci: Update CMake version to 3.30.1 2024-07-18 09:59:36 -04:00
Brad King
9f94c55864 Merge topic 'ci-cmake-update'
1fe21da240 ci: Update CMake version to 3.30.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9638
2024-07-03 08:27:42 -04:00
Brad King
1fe21da240 ci: Update CMake version to 3.30.0 2024-07-02 13:01:39 -04:00