Commit Graph

653 Commits

Author SHA1 Message Date
Robert Maynard 04959e0285 Tests: Verify CUDA::cupti existence on a subset of machines
When we know that the cupti library exists explicitly request the CUDA Toolkit test to verify the existence
2023-12-14 14:05:28 -05:00
Brad King e2d25c6724 gitlab-ci: update macOS jobs to use Xcode 15.1 2023-12-11 16:16:36 -05:00
Ben Boeckel 5123e9e160 ci: unmask RPM tests on Fedora 39 2023-11-29 12:47:45 -05:00
Brad King 4d14116dbc Merge topic 'ci-fedora-39' into release-3.28
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
2744f14db1 codespell: Fix typos
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8983
2023-11-20 08:10:36 -05:00
Brad King 31620b2bf8 gitlab-ci: drop cdash-build-id from release packaging artifacts
This was accidentally added by commit 06661b1e4c (gitlab-ci: pull
annotations for CDash from the jobs, 2023-11-01, v3.28.0-rc4~1^2).
2023-11-19 12:02:08 -05:00
Brad King 9283b20659 ci: Suppress CPack/RPM tests pending fix for Fedora 39
Issue: #25421
2023-11-17 09:58:22 -05:00
Brad King 18145e8745 ci: Update FindMPI test environment for mpich on Fedora 39
An explicit `FI_PROVIDER=tcp` seems to be needed to pass the test.
2023-11-17 09:58:22 -05:00
Brad King a8be80ccf2 ci: Drop now-unnecessary Clang rules for CXXModules tests
Starting with LLVM/Clang 17 we can use C++ modules with compiler
extensions enabled.
2023-11-17 09:58:22 -05:00
Brad King 99238b23e9 ci: use Fedora 39 images and environments 2023-11-17 09:58:22 -05:00
Brad King 57eadec617 ci: update Linux image to Fedora 39 2023-11-17 09:58:22 -05:00
Ben Boeckel 06661b1e4c gitlab-ci: pull annotations for CDash from the jobs
Only move `cdash-build-id` between stages that make sense.
2023-11-02 15:24:45 -04:00
Ben Boeckel a518e402c5 ci: generate annotation reports
These will render links in the sidebar for each job.

See: https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html#artifactsreportsannotations
2023-11-02 15:24:45 -04:00
Brad King 8735cbba5d Merge topic 'cxxmodules-no-longer-experimental'
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
2023-10-02 11:55:38 -04:00
Ben Boeckel 5eb7bd641a Tests/RunCMake/CXXModules: remove rules file requirement
Only Clang needs to disable extensions in order to work; other
implementations work as-is.
2023-10-02 10:17:31 -04:00
Brad King af149fbcaa Merge topic 'FindCUDAToolkit-implicit-dirs'
4316d4dcfd FindCUDAToolkit: Search all of `nvcc` implicit includes and library dirs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8835
2023-09-29 09:37:30 -04:00
Robert Maynard 4316d4dcfd FindCUDAToolkit: Search all of nvcc implicit includes and library dirs
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
2023-09-27 13:28:52 -04:00
Brad King f8e0722e75 gitlab-ci: update macOS jobs to use Xcode 15.0 2023-09-26 11:10:16 -04:00
Brad King f8fa4f1ad7 ci: Add OrangeC 6.73.1 nightly CI job 2023-09-25 12:27:45 -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
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
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
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 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
Ben Boeckel c2564f5916 ci: drop extra scandep source settings for GCC 2023-09-21 09:44:48 -04:00
Ben Boeckel ee52a02d56 ci: update GCC build to use master after P1689R5 is merged 2023-09-21 09:44:48 -04:00
Brad King 8971bd4d1b Merge topic 'ci-cmake-update'
08d77470ef ci: Update CMake version to 3.27.6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8821
2023-09-21 08:03:55 -04:00
Kyle Edwards 08d77470ef ci: Update CMake version to 3.27.6 2023-09-20 15:06:46 -04:00
Brad King 4c92fc709a ci: Update LLVM/Clang to 17.0 in nightly CI jobs on Windows 2023-09-19 15:26:07 -04:00
Brad King 84a25fc263 cmake_host_system_information: Add MSYSTEM_PREFIX query
Add a query on Windows hosts for the installation prefix of a
MSYS or MinGW development environment.

Issue: #24216
2023-09-10 07:33:47 -04:00
Brad King b2555f27ac ci: Improve MinGW/MSYS Makefiles mingw.osdn.io job environments
Set `PATH`, `MSYSTEM`, and `MAKE_MODE` environment variables the way the
MinGW/MSYS 1.0 distribution from `mingw.osdn.io` does in its bash prompt.
2023-09-08 15:31:22 -04:00
Brad King 91585ad105 Merge topic 'rel-win-qt-5.15'
7def566e92 Utilities/Release: Update to Qt 5.15.10 on windows-{x86_64,i386} builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8774
2023-09-08 09:13:36 -04:00
doufu 7def566e92 Utilities/Release: Update to Qt 5.15.10 on windows-{x86_64,i386} builds
Fixes: #25187
Co-authored-by: Brad King <brad.king@kitware.com>
2023-09-07 09:03:25 -04:00
Brad King fc41962481 ci: Enable Qt tests in nightly VS IDE job 2023-09-05 15:23:47 -04:00
Brad King 67abc25e67 ci: Factor out location of cmake in Qt download script 2023-09-05 15:22:37 -04:00
Brad King 0788accdfc Merge topic 'imported-cxxmodules'
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
2023-08-21 09:49:48 -04:00
Ben Boeckel 1a1806a71b gitlab-ci: declare bmionly support for modules where possible
GCC and Clang both have the settings.
2023-08-17 14:42:54 -04:00
Ben Boeckel 80ef50a191 CXXModules: add a variable for BMI-only compilation
This will be required when dealing with imported targets which contain
modules.
2023-08-17 14:42:54 -04:00
Brad King ef2bab7687 Utilities/Release: Update docker specs for linux-x86_64 to centos 7
Update the centos base image from centos 6 to centos 7.  The latter is
the minimum version supported by libuv 1.45.  The resulting binaries
require GLIBC 2.17.
2023-08-16 14:29:55 -04:00
Brad King ccbd06cb83 Merge topic 'rel-no-doc'
30b1080c69 Utilities/Release: Remove unused documentation build settings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8730
2023-08-16 13:33:53 -04:00
Brad King 30b1080c69 Utilities/Release: Remove unused documentation build settings
Since commit 37e015d4a6 (Utilities/Sphinx: Refactor Sphinx reference
recording, 2023-03-08, v3.27.0-rc1~342^2~1) our documentation requires
Python 3.7 or higher.  This is not available in the base images we use
to build Linux release binaries.  These days our release packaging CI
pipeline builds the documentation in a separate job anyway.
2023-08-16 12:25:22 -04:00
Ben Boeckel 6d359ce7a0 gitlab-ci: use the new GCC C++ modules build container 2023-08-15 10:25:42 -04:00
Ben Boeckel 0d837ba0f0 ci: update gcc module rules file for new flag spellings 2023-08-14 12:36:25 -04:00
Ben Boeckel 945c4b1771 ci: update to Fedora 38 for GCC C++ module container 2023-08-14 08:15:17 -04:00
Ben Boeckel 38251e00e1 ci: update to v7 of the GCC p1689r5 patches 2023-08-14 08:15:17 -04:00