Commit Graph

615 Commits

Author SHA1 Message Date
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
Ben Boeckel
fe55a0ebf4 ci: enable more tests to better match nightly dashboards 2023-07-25 16:21:31 -04:00
Brad King
27302fa005 Merge topic 'compile-commands-modules'
677b28dc7b Ninja: include module mapper flags in `compile_commands.json`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8611
2023-07-12 10:02:53 -04:00
Ben Boeckel
677b28dc7b Ninja: include module mapper flags in compile_commands.json
Fixes: #24618
2023-07-09 11:04:29 -04:00
Brad King
994e88ec38 Merge topic 'build-pch'
aba5bab62e ci: Add nightly job to build CMake with PCH on macOS
44f08e94ff ci: Add nightly job to build CMake with PCH on Windows
e0eb97e923 libuv: Precompile common expensive headers
e2efa89c7f cmcppdap: Precompile common expensive headers
9d7921d388 liblzma: Precompile common expensive headers
6aaefdb3be libarchive: Precompile common expensive headers
a8d91e2719 curl: Precompile common expensive headers
59277bccd3 bzip: Precompile common expensive headers
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8571
2023-06-23 11:20:00 -04:00
Brad King
93c379430d Merge topic 'vs-cxxmodules-public-bmis'
d90a61d671 VS: Make C++ module BMIs public by default for shared libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8549
2023-06-23 10:48:15 -04:00
Brad King
aba5bab62e ci: Add nightly job to build CMake with PCH on macOS 2023-06-22 14:27:50 -04:00
Andreas Weis
d90a61d671 VS: Make C++ module BMIs public by default for shared libraries
Enable the `AllProjectBMIsArePublic` option for shared libraries in the
VS project files when building with C++20 modules support.
2023-06-22 14:22:56 -04:00
Brad King
44f08e94ff ci: Add nightly job to build CMake with PCH on Windows 2023-06-22 13:48:56 -04:00
Brad King
15edabf575 Merge topic 'rel-macos-c++17'
7b205b7078 ci: Build macOS 10.13+ package as C++17
7f6cebb1cd ci: Split macOS 10.10+ and 10.13+ package language standard selection
aab16d4bfc ci: Drop unnecessary -stdlib flag from macOS package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8567
2023-06-20 09:26:29 -04:00
Brad King
7b205b7078 ci: Build macOS 10.13+ package as C++17
Take advantage of the standard library implementations of those C++17
features available when targeting macOS 10.13.  Note that the standard
library `std::filesystem` implementation is not available until 10.15.
2023-06-16 08:16:43 -04:00
Marc Chevrier
711d1da125 FindPython: add capability to select python version for the tests 2023-06-15 15:28:55 +02:00
Brad King
7f6cebb1cd ci: Split macOS 10.10+ and 10.13+ package language standard selection
Prepare to use a different language standard level for each package.
2023-06-15 09:21:07 -04:00
Brad King
aab16d4bfc ci: Drop unnecessary -stdlib flag from macOS package
AppleClang uses `libc++` by default.
2023-06-15 09:21:07 -04:00
Brad King
c42fb292e9 Merge topic 'ci-macos-ninja-multi-no-sccache'
ac44557c7b ci: Disable sccache for macOS Ninja Multi-Config nightly job

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8560
2023-06-14 09:15:54 -04:00
Brad King
ac44557c7b ci: Disable sccache for macOS Ninja Multi-Config nightly job
The job frequently fails during `ctest_build`, and the log shows

    sccache: Compiler killed by signal 9

It does not compile much anyway, so disable sccache pending further
investigation.
2023-06-13 11:23:49 -04:00
Brad King
15b1cdd67b ci: Update ISPC 1.20.0 macOS binary hashes
The ISPC 1.20.0 release page on GitHub replaced existing macOS release
binaries with new ones.  Update the hashes added by commit 44d13f50a2
(ci: Update to ISPC 1.20.0, 2023-05-09, v3.27.0-rc1~110^2).
2023-06-13 10:44:24 -04:00
Brad King
679d201df7 gitlab-ci: Update HIP job to ROCm 5.5 2023-06-02 09:46:47 -04:00
Brad King
427b0d24ba ci: Update HIP image to ROCm 5.5 on Ubuntu 22.04 2023-06-02 09:46:47 -04:00
Ben Boeckel
0183e1bca3 cxxmodules: remove CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP variable
It is now subsumed by the UUID setting completely.
2023-06-01 14:43:26 -04:00
Brad King
4a84f71049 ci: Provide cppdap in extdeps jobs
Debian 10 and Fedora 37 do not yet package cppdap, so our
base images do not include it.  Build it in extdeps jobs.
2023-05-26 09:36:42 -04:00
Brad King
1689e0a118 ci: Subsume Clang C++ modules testing in main Fedora+Clang jobs
Fedora 38 comes with LLVM/Clang 16.0, which supports the features we
need for C++ modules.
2023-05-22 17:16:13 -04:00
Brad King
bdaa9e1e4e ci: use Fedora 38 images and environments 2023-05-22 17:16:12 -04:00
Brad King
b69c63d3aa ci: update Linux image to Fedora 38 2023-05-22 17:16:12 -04:00
Brad King
9c388fb064 ci: Remove nlohmann-json from Fedora base image
Revert commit f24c6ae5b8 (ci: Add nlohmann-json to Fedora base image,
2023-05-17).  The previously-upcoming dependency on nlohmann-json has
been replaced with our existing dependency on jsoncpp.
2023-05-22 17:16:12 -04:00
Brad King
d9d061d19f ci: Disable sccache in clang-analyzer job
The `ccc-analyzer` compiler wrapper preprocesses differently
for clang-analyzer than for normal compilation.  In particular,
the `__clang_analyzer__` preprocessor definition is added.

This does not interact well with `sccache` because it indexes based on
the compiler's normal preprocessing but stores results from the entire
`ccc-analyzer` invocation.
2023-05-22 17:16:12 -04:00
Brad King
f1438379c2 Merge topic 'test-bootstrap'
80181da866 Tests: Add option to control timeout of BootstrapTest
21df34b255 Tests: Modernize name of option to control existence of BootstrapTest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8491
2023-05-19 08:46:23 -04:00