Commit Graph

641 Commits

Author SHA1 Message Date
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
Brad King
54184f98cb Merge topic 'sphinx-search-index'
fbed0431c2 ci: Suppress cmake.org html documentation search results for index entries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8700
2023-08-10 08:59:35 -04:00
Brad King
fbed0431c2 ci: Suppress cmake.org html documentation search results for index entries
Since Sphinx 5.2.0, the generated html search page reports all index
entries that match a query term.  Unfortunately even non-main entries
get a high score, placing them before more important search results
such as document titles and domain object names.

Work around this for documentation published on `cmake.org` by removing
the logic from `searchtools.js` in the generated html documentation.

Issue: #25175
2023-08-09 20:05:39 -04:00
Brad King
cffa56c918 ci: Add HIP job based on Fedora image
The Fedora `rocm-hip-devel` package organizes the `hip-lang` cmake package
differently from the official ROCm base images.  Cover it separately.

Issue: #25050
2023-08-07 16:46:38 -04:00
Brad King
05277d92da ci: Add ROCm HIP to Fedora base image 2023-08-07 16:39:42 -04:00
Brad King
f0c95e2630 Merge topic 'ci-debian-legacy'
9d64df3e1c ci: Add job for Debian 10 legacy packages
07f42b3690 ci: Add an image for Python 2 on Debian 10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8676
2023-08-01 09:24:52 -04:00
Brad King
9d64df3e1c ci: Add job for Debian 10 legacy packages
Test Python 2 packages in Debian 10.  They are not available in Debian 12.
2023-07-31 13:48:37 -04:00
Brad King
07f42b3690 ci: Add an image for Python 2 on Debian 10
Debian 12 no longer packages Python 2, so we test Python 2 find
modules on an older version.
2023-07-31 13:47:41 -04:00
Brad King
1177d5c127 ci: Add HIP job based on Debian image
The Debian package for `hipcc` organizes the `hip-lang` cmake package
differently from the official ROCm base images.  Cover it separately.

Issue: #24562
2023-07-31 12:08:36 -04:00
Brad King
241ee252ce IWYU: Update for Debian 12 CI job
`include-what-you-use` diagnostics, in practice, are specific to
the environment's compiler and standard library.  Update includes
to satisfy IWYU for our CI job under Debian 12.
2023-07-28 09:14:08 -04:00
Brad King
09db788636 ci: use Debian 12 images and environments 2023-07-28 09:14:07 -04:00
Brad King
9526679bbc ci: Update base images to Debian 12 2023-07-28 09:14:07 -04:00
Ben Boeckel
077678d3f9 ci: test CDash submission tests on some nightly dashboards
One from each platform, and a mix of architectures and generators.
2023-07-25 16:21:31 -04:00