Commit Graph

619 Commits

Author SHA1 Message Date
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
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