Commit Graph

326 Commits

Author SHA1 Message Date
Ben Boeckel
e84fcbcb0b cxxmodules: support new round of Clang patches
These patches now support the `-MF` output, so remove the `none` support
added just for the old patchset which did not use it.

Also update the flag name to `-fmodule-output=`.

Due to the new Clang module mapper flag, use a new experimental support
UUID as well.
2022-12-15 18:43:47 -05:00
Ben Boeckel
5e35913382 ci: update llvm snapshot to newest patch revisions 2022-12-15 10:02:03 -05:00
Kyle Edwards
42445b2c04 ci: run commit messages through codespell 2022-12-13 10:29:20 -05:00
Brad King
602c24f778 Merge topic 'ci-nvhpc'
12d032b265 gitlab-ci: Update NVHPC to version 22.11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7994
2022-12-07 08:15:13 -05:00
Brad King
5f94655808 Merge topic 'ci-cuda-no-static'
004f954401 ci: Add job to test minimal CUDA install (no static libs)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7996
2022-12-07 08:13:48 -05:00
Robert Maynard
004f954401 ci: Add job to test minimal CUDA install (no static libs)
Some package managers provide a minimal set of static libraries,
which historically has caused problems for FindCUDAToolkit.
Resolve this issue by creating a CUDA image with only the minimal
set of static libraries.
2022-12-06 15:44:33 -05:00
Brad King
12d032b265 gitlab-ci: Update NVHPC to version 22.11
Fixes: #24225
2022-12-06 10:59:24 -05:00
Brad King
6f619d2de6 Merge topic 'ci-pre-build-post-build'
a7be3c961f ci: build clang-tidy plugin in pre-build step
372ce5bffe ci: add pre-build and post-build steps to Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7989
2022-12-06 08:09:07 -05:00
Brad King
2f5acfa801 Merge topic 'ci-nvhpc'
7d2979d6eb gitlab-ci: Select CUDA version explicitly in NVHPC job

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7987
2022-12-06 08:08:00 -05:00
Brad King
f1f064b7b2 Merge topic 'cxx-module-map-clang'
2c558cfd1b gitlab-ci: add CI jobs for Clang with C++20 modules
abd42e9cfc ci: add a Docker container for clang support of C++20 modules
51093f3002 Clang-FindBinUtils: also find `clang-scan-deps`
0b333de923 ci: add C++ module rules file for Clang
21b9fb1e8c cmCxxModuleMapper: support the `clang` module map format
9c66224668 cmNinjaTargetGenerator: skip setting `depfile` for `none` scantypes
9123a0991f cmNinjaTargetGenerator: use `.clear()` to empty out some strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !7978
2022-12-06 08:04:18 -05:00
Kyle Edwards
a7be3c961f ci: build clang-tidy plugin in pre-build step
And use sccache and Ninja.
2022-12-05 17:43:35 -05:00
Kyle Edwards
372ce5bffe ci: add pre-build and post-build steps to Linux
The pre-build step will allow actions to be executed before the
CMake build but after Ninja and sccache have been downloaded, so
they can be used in the pre-build step. The env step is meant for
setting up environment variables anyway, rather than performing
actions.

The post-build step will allow extra artifacts to be computed after
the build is complete.
2022-12-05 17:43:31 -05:00
Brad King
7d2979d6eb gitlab-ci: Select CUDA version explicitly in NVHPC job
The job added by commit 16a5c36795 (gitlab-ci: add nightly job testing
NVHPC with Ninja on Linux, 2022-11-21) started failing after CI hosts
were updated from NVIDIA driver version 520 to version 525.  Somehow
this causes the NVHPC multi-cuda `nvcc` wrapper to select CUDA 10.2
instead of 11.7 as with older driver versions.

As a workaround, add the preferred version of `nvcc` to the PATH.

Issue: #24225
2022-12-05 13:17:39 -05:00
Ben Boeckel
2c558cfd1b gitlab-ci: add CI jobs for Clang with C++20 modules 2022-12-02 13:16:16 -05:00
Ben Boeckel
abd42e9cfc ci: add a Docker container for clang support of C++20 modules 2022-12-02 13:16:16 -05:00
Ben Boeckel
0b333de923 ci: add C++ module rules file for Clang 2022-12-02 13:04:34 -05:00
Ben Boeckel
52c21cbbda ci: enable C++20 module testing with the VS 2022 generator 2022-12-01 11:42:46 -05:00
Ben Boeckel
069a32b03c Tests/RunCMake/CXXModules: split out collation-requiring tests
Visual Studio does not currently have a place to insert the logic
required to implement this test, so skip it if possible.
2022-12-01 11:42:46 -05:00
Robert Maynard
9d012b1f69 FindCUDAToolkit: Ensure that paths provided have no symlinks
Fixes: #24188
2022-11-30 16:39:00 -05:00
Brad King
f72c405d4e Merge topic 'ci-nvhpc'
16a5c36795 gitlab-ci: add nightly job testing NVHPC with Ninja on Linux
9474d02386 Tests: Clarify CudaOnly.SeparateCompilationPTX output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7946
2022-11-29 10:39:40 -05:00
Brad King
a7a7a76e02 Merge topic 'msvc-cxx-no-optin-experimental-flag'
12e4bc73cb MSVC: don't opt into dyndep support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7965
2022-11-29 10:22:48 -05:00
Brad King
16a5c36795 gitlab-ci: add nightly job testing NVHPC with Ninja on Linux 2022-11-28 18:05:13 -05:00
Ben Boeckel
12e4bc73cb MSVC: don't opt into dyndep support
Instead, just set the variables for how scanning works since that is
part of the compiler mechanisms.

Fixes: #24198
2022-11-28 18:02:51 -05:00
Brad King
99370e990e gitlab-ci: add jobs to test with Clang and LLVMFlang on Fedora
We already have `t:debian10-{makefiles,ninja}-clang` jobs covering old
versions of Clang with Makefile and Ninja generators.  Complement them
with new `t:fedora37-{makefiles,ninja}-clang` jobs covering recent
versions of Clang.

Fedora 37 now packages LLVMFlang, so enable Fortran tests with that
compiler too.

Issue: #22387
2022-11-18 09:13:51 -05:00
Brad King
757d9f1507 gitlab-ci: use Fedora 37 images and environments 2022-11-17 08:23:52 -05:00
Brad King
919ac4c937 ci: add LLVMFlang compiler to Fedora base image
Also explicitly install `clang`.

Issue: #22387
2022-11-17 08:23:52 -05:00
Brad King
960a2cf124 ci: update Linux image to Fedora 37 2022-11-17 08:23:52 -05:00
Brad King
7ef3638454 ci: Enable FindOpenMP tests on macOS Ninja and Makefiles jobs
Since Apple does not distribute the OpenMP header and library
with its AppleClang compiler, download them as part of the jobs.
2022-11-14 14:26:10 -05:00
Brad King
4bf832086a Merge topic 'ci-windows-arm64'
09c1b1db07 gitlab-ci: Add windows-arm64 native jobs for Ninja and VS
61ebd7d083 ci: Download cmake on windows-arm64
93a5d89b42 ci: Teach cmake download script on Windows to branch on host architecture
1ccffcf0ea ci: Factor out helper to load python into environment on Windows
781303c0e2 ci: Factor out helper to load qt into environment on Windows
b0d16c7f74 Tests: Fix CTest.UpdateGIT under repo-local defaultBranch config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !7905
2022-11-14 10:20:32 -05:00
Brad King
38c8866dd1 Merge topic 'msvc-19.34-cpp-modules'
0e9782b336 msvc: bless MSVC 19.34 support for C++ modules as experimental

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7745
2022-11-14 10:18:21 -05:00
Ben Boeckel
0e9782b336 msvc: bless MSVC 19.34 support for C++ modules as experimental
Visual Studio 17.4 now contains official support for what CMake needs.
2022-11-11 16:54:05 -05:00
Brad King
09c1b1db07 gitlab-ci: Add windows-arm64 native jobs for Ninja and VS
Add Windows ARM64 native CI jobs to build and test with Ninja,
and to test with VS.

Issue: #23624
2022-11-11 15:05:30 -05:00
Brad King
61ebd7d083 ci: Download cmake on windows-arm64 2022-11-11 15:05:30 -05:00
Brad King
93a5d89b42 ci: Teach cmake download script on Windows to branch on host architecture 2022-11-11 15:05:30 -05:00
Brad King
1ccffcf0ea ci: Factor out helper to load python into environment on Windows 2022-11-11 15:05:30 -05:00
Brad King
781303c0e2 ci: Factor out helper to load qt into environment on Windows 2022-11-11 15:05:30 -05:00
Brad King
b0f02511e5 Merge topic 'ci-clang15-windows'
46b2849550 ci: Update LLVM/Clang to 15.0 in nightly CI jobs on Windows
3eb94e4d51 ci: Simplify LLVM/Clang CI job specs on Windows
8ba5835c8d ci: Factor out helper to load clang into environment on Windows
bf2e4a2e85 ci: Factor out helper to load ninja into environment on Windows
93ff726114 Tests: Fix TryCompile bad source case for clang-cl 15 on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7897
2022-11-11 08:26:32 -05:00
Brad King
46b2849550 ci: Update LLVM/Clang to 15.0 in nightly CI jobs on Windows 2022-11-10 13:24:57 -05:00
Brad King
3eb94e4d51 ci: Simplify LLVM/Clang CI job specs on Windows
Move environment setup to job-specific scripts so we can reuse
the common `.cmake_test_windows_external` code path.
2022-11-10 13:24:51 -05:00
Brad King
8ba5835c8d ci: Factor out helper to load clang into environment on Windows 2022-11-10 13:24:31 -05:00
Brad King
bf2e4a2e85 ci: Factor out helper to load ninja into environment on Windows 2022-11-10 12:57:55 -05:00
Brad King
7299be0765 Merge topic 'ci-swift-5.7'
48ea2ce504 ci: Update debian10-ninja job to use Swift 5.7.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7860
2022-11-03 08:19:04 -04:00
Brad King
3624295c9b ci: add MSYS Makefiles nightly CI job
Use the MinGW/MSYS 1.0 distribution from `mingw.osdn.io`.
2022-11-02 17:17:02 -04:00
Brad King
01c58daec7 ci: add MinGW Makefiles nightly CI job
Use the MinGW/MSYS 1.0 distribution from `mingw.osdn.io`.
2022-11-02 17:16:46 -04:00
Brad King
48ea2ce504 ci: Update debian10-ninja job to use Swift 5.7.1 2022-11-02 13:28:52 -04:00
Kyle Edwards
18d2bd71af clang-tidy module: build as release, output on test failure
Build the module with -DCMAKE_BUILD_TYPE=Release, and run ctest
with --output-on-failure.
2022-10-26 18:13:13 -04:00
Kyle Edwards
0a2093d0c5 clang-tidy module: add test framework 2022-10-14 11:09:38 -04:00
Igor-Mikhail-Valentin Glebov
d6f5e67f7b ci: add clang-tidy plugin to clang-tidy job 2022-10-12 13:39:30 -04:00
Kyle Edwards
c239e7c259 ci: add include-what-you-use to Fedora base image 2022-10-04 13:30:52 -04:00
Brad King
9c8c965435 ci: Revert "add clang-tidy to Debian x86_64 base image"
Revert commit 0ac9ec47f6 (ci: add clang-tidy to Debian x86_64 base
image, 2022-09-20).  Our clang-tidy job runs under Fedora, and we need
the plugin to compile there anyway, so lints like IWYU will best be done
in the Fedora image.

Issue: #23912
2022-09-29 11:19:42 -04:00