Commit Graph

827 Commits

Author SHA1 Message Date
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
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
Brad King
9939f606a6 Merge topic 'cxxmodules-private-between-targets'
d38779df2a ci: Enable RunCMake.CXXModules collation cases in clang jobs
69e4525241 Tests/CXXModules: add example for private modules between targets
18f87c87f8 cmCxxModuleMapper: track whether modules are private or not
56f7d6f827 cmCxxModuleMapper: add a structure to represent BMI locations
8207a3a266 cmDyndepCollation: add a query for visibility of an object's modules
e8efcbec8c iwyu: ignore `std::remove_reference` requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8476
2023-05-19 08:35:17 -04:00
Brad King
21df34b255 Tests: Modernize name of option to control existence of BootstrapTest 2023-05-18 13:41:31 -04:00
Brad King
51c343b788 ci: Enable C++20 module testing with VS 2022 on ARM64 2023-05-18 09:15:14 -04:00
Brad King
d38779df2a ci: Enable RunCMake.CXXModules collation cases in clang jobs
Since commit 069a32b03c (Tests/RunCMake/CXXModules: split out
collation-requiring tests, 2022-11-28, v3.26.0-rc1~243^2~4)
these cases require explicit configuration.
2023-05-18 08:44:23 -04:00
Brad King
406a103318 VS: Add support for C++ module internal partitions in VS 17.6 and newer
VS 17.6 now implements `ScanSourceforModuleDependencies` using the same
`cl /scanDependencies` scanner that our Ninja generator uses.  It can
distinguish module internal partitions from module interface units based
on their content.  Switch from `CompileAsCppModule` to `CompileAsCpp`
for `CXX_MODULES` sources so that MSBuild can scan and classify them.
2023-05-17 11:59:24 -04:00
Brad King
d9641980d2 Merge topic 'ci-clang-tidy-headers'
f24c6ae5b8 ci: Add nlohmann-json to Fedora base image
30e4be0d1b ci: Use distro packaged clang-tidy headers in Fedora base image

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !8488
2023-05-17 11:56:18 -04:00
Brad King
bf988cdf50 Merge topic 'ci-msvc-14.36'
888a9c49ff gitlab-ci: Update Windows builds to MSVC 14.36 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8484
2023-05-17 11:55:12 -04:00
Brad King
f24c6ae5b8 ci: Add nlohmann-json to Fedora base image
We need version 3.11.2 or higher, which Debian 10 does not package,
so leave it out of the Debian base images.
2023-05-17 09:50:24 -04:00
Brad King
30e4be0d1b ci: Use distro packaged clang-tidy headers in Fedora base image
Since commit 703f39354e (ci: add clang-tidy development headers to
Fedora base image, 2022-08-31, v3.25.0-rc1~215^2), Fedora has added the
`clang-tools-extra-devel` package.
2023-05-17 09:50:17 -04:00
Brad King
888a9c49ff gitlab-ci: Update Windows builds to MSVC 14.36 toolset 2023-05-16 14:53:01 -04:00
Brad King
735a1590a2 gitlab-ci: update macOS jobs to use Xcode 14.3 2023-05-16 11:03:45 -04:00
Brad King
3a20a5f149 gitlab-ci: Move macOS+Xcode universal binaries job to arm64
Over time we are adding `arm64` hosts and removing `x86_64` hosts.
2023-05-10 10:13:01 -04:00
Brad King
5210b98ec2 gitlab-ci: Move macOS Ninja Multi-Config nightly job to arm64 architecture 2023-05-10 10:13:00 -04:00
Brad King
8383f44370 Merge topic 'ci-macos-package'
7eeca582ed gitlab-ci: Move macOS packaging jobs to arm64 hosts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8464
2023-05-10 09:40:10 -04:00
Brad King
7eeca582ed gitlab-ci: Move macOS packaging jobs to arm64 hosts
Over time we are adding `arm64` hosts and removing `x86_64` hosts.
2023-05-09 14:32:24 -04:00
Brad King
44d13f50a2 ci: Update to ISPC 1.20.0 2023-05-09 14:26:55 -04:00
Brad King
195339e7ac gitlab-ci: Add job testing Intel 2021.9.0 compilers on Windows 2023-05-01 15:51:32 -04:00
Brad King
1b44973343 gitlab-ci: Add job testing IntelLLVM 2023.1.0 compilers on Windows 2023-05-01 15:51:21 -04:00
Jannik Alber
1d6db66179 CPack: Add Inno Setup generator 2023-04-28 09:33:28 -04:00
Brad King
9b0dc652ff ci: Provide Inno Setup tools to some Windows CI jobs 2023-04-27 21:55:18 +02:00
Brad King
b7400800df ci: Make python available in all Windows test jobs
Activate test infrastructure that requires python.
2023-04-05 15:03:23 -04:00
Brad King
99bf8418ee ci: Update to Python 3.11.3 in Windows jobs
Use the official embedded distribution `.zip` files,
but put copies at URLs we control.
2023-04-05 15:03:14 -04:00
Brad King
967456423b ci: Factor out initial setup script for Windows external test jobs
On Linux and macOS we use the "before script" for both build and test
jobs.  On Windows we only want a subset of it, but give it a dedicated
helper for consistency.
2023-04-05 14:27:49 -04:00
Brad King
3532823dd7 ci: De-duplicate Windows test script for NMake job
Move job-specific setup to an environment script.
2023-04-05 10:47:49 -04:00
Brad King
3f1a1bad76 ci: De-duplicate Windows test script for JOM job
Move job-specific setup to an environment script.
2023-04-05 10:47:32 -04:00
Brad King
e2cf20e58c ci: De-duplicate Windows test script for Borland jobs
Move job-specific setup to environment scripts.
2023-04-05 10:47:05 -04:00
Brad King
8af9a52d3e ci: De-duplicate Windows test script for MSVC v71 NMake job
Move job-specific setup to an environment script.
2023-04-05 10:46:48 -04:00
Brad King
430aa379d4 ci: De-duplicate Windows test script for OpenWatcom job
Move job-specific setup to an environment script.
2023-04-05 10:46:15 -04:00
Brad King
919de8785b ci: Patch HDF5 Fortran compiler wrappers in Fedora jobs
In Fedora's HDF5 packages for OpenMPI and MPICH, the `h5pfc` compiler
wrappers for Fortran use the wrong search path for their Fortran
modules.  Patch them locally in CI jobs until it is fixed in Fedora
upstream.
2023-03-30 15:05:39 -04:00
Brad King
1d1ee2b049 Merge topic 'ci-FindHDF5'
d38c752de2 ci: Enable FindHDF5 tests on Linux builds
28c4945a8a ci: Add HDF5 to Debian and Fedora base images
ad9e151045 Tests: Add cases covering FindHDF5 variables and imported targets
0e87e6c1a4 Tests: Add FindMPI test environment modification option
ee075a53c8 FindHDF5: Record compiler wrapper checks to configure log
72915b1068 FindHDF5: Fix compiler wrapper checks with spaces in path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8378
2023-03-30 07:22:17 -04:00
Brad King
d38c752de2 ci: Enable FindHDF5 tests on Linux builds 2023-03-29 17:18:30 -04:00
Brad King
28c4945a8a ci: Add HDF5 to Debian and Fedora base images 2023-03-29 17:18:30 -04:00
Brad King
0e87e6c1a4 Tests: Add FindMPI test environment modification option
Provide a way to configure an environment specific to this test.
Avoid setting the environment globally for it in CI jobs.
2023-03-29 17:18:30 -04:00
nega
f05bd762f5 ci: Enable FindOpenAL test on macOS jobs 2023-03-29 13:42:06 -04:00
Brad King
be1549d950 ci: Enable C++ modules tests with LLVM/Clang 16.0 on Windows
This works only with the GNU-like front-end and the Ninja generator.
2023-03-21 09:00:03 -04:00
Brad King
eb93e1ff18 ci: Update LLVM/Clang to 16.0 in nightly CI jobs on Windows 2023-03-21 09:00:03 -04:00
CheesyNacho10
e36e455b7c FindwxWidgets: Add an imported target 2023-03-08 16:39:38 -05:00
Brad King
42c84b1e2e ci: Add wxWidgets to Debian and Fedora base images 2023-03-08 16:38:33 -05:00
Brad King
617b8df7cf Merge topic 'clang-16-cxx-modules'
3fe8e33f27 Clang: Record Clang 16.0 flags for our experimental C++ modules support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8285
2023-03-06 08:59:21 -05:00
Brad King
3fe8e33f27 Clang: Record Clang 16.0 flags for our experimental C++ modules support
LLVM/Clang 16.0 now contains official support for what CMake needs.
2023-03-03 12:44:53 -05:00
Brad King
1c1f67a77e Merge topic 'ci-package-pipeline'
7c60a2625d gitlab-ci: Optionally upload release packages to custom URL
fc8a981893 gitlab-ci: Generalize package and help upload URLs
f73649823b gitlab-ci: Stage unsigned release package artifacts in a dedicated directory
0929221ca3 gitlab-ci: Simplify Windows packaging pipeline
ce2e825306 gitlab-ci: Simplify macOS packaging jobs
05531a7c4e gitlab-ci: add pre-build and post-build steps to Windows
5ab92d8e71 gitlab-ci: add pre-build and post-build steps to macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8266
2023-03-01 09:12:53 -05:00
Brad King
7c60a2625d gitlab-ci: Optionally upload release packages to custom URL 2023-02-28 13:39:52 -05:00
Brad King
fc8a981893 gitlab-ci: Generalize package and help upload URLs 2023-02-28 13:39:52 -05:00
Brad King
f73649823b gitlab-ci: Stage unsigned release package artifacts in a dedicated directory
These artifacts need to be manually signed before distribution.
Move them to a dedicated `unsigned/` directory to avoid accidental
distribution without signing.
2023-02-28 13:39:52 -05:00
Brad King
0929221ca3 gitlab-ci: Simplify Windows packaging pipeline
In commit 4c7c66dcf5 (gitlab-ci: Add jobs to make Windows x86_64 and
i386 packages, 2022-05-19, v3.24.0-rc1~112^2) we used a separate Windows
packaging job in nightly packaging pipelines.  It did not run in release
pipelines, where we need to run the final packaging step manually with
signing.  Simplify nightly packaging pipelines by running `cpack` at the
end of the build job as we do for other platforms.

For release packaging pipelines, create an archive of the files needed
to build a package, and present this as the built "package" on Windows.
2023-02-28 13:39:44 -05:00
Brad King
ce2e825306 gitlab-ci: Simplify macOS packaging jobs
Run cpack in a post-build step instead of duplicating the job script.
2023-02-28 10:18:31 -05:00
Brad King
05531a7c4e gitlab-ci: add pre-build and post-build steps to Windows
Apply the approach from commit 372ce5bffe (ci: add pre-build and
post-build steps to Linux, 2022-12-05, v3.26.0-rc1~225^2~1) to
build jobs on Windows.
2023-02-28 10:12:03 -05:00
Brad King
5ab92d8e71 gitlab-ci: add pre-build and post-build steps to macOS
Apply the approach from commit 372ce5bffe (ci: add pre-build and
post-build steps to Linux, 2022-12-05, v3.26.0-rc1~225^2~1) to
build jobs on macOS.
2023-02-28 10:12:03 -05:00
Brad King
3f41c0a12a Merge topic 'gitlab-issue-template'
e408157e1b gitlab: Add default issue template

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !8244
2023-02-23 16:34:53 -05:00
Brad King
68298bdfc5 Merge topic 'ci-msvc-14.35'
9da7009bfc gitlab-ci: Update Windows builds to MSVC 14.35 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8242
2023-02-23 09:01:20 -05:00
Brad King
e408157e1b gitlab: Add default issue template
Populate issue descriptions by default with a note directing reporters
to other resources they should consider using first.  Make it a comment
so that the content does not actually render in the report not removed.
2023-02-22 16:44:39 -05:00
Brad King
9da7009bfc gitlab-ci: Update Windows builds to MSVC 14.35 toolset 2023-02-22 12:35:46 -05:00
Brad King
557c3934ee gitlab-ci: Add nightly jobs covering macOS universal binaries on x86_64 2023-02-21 12:25:47 -05:00
Brad King
f7be10b26a Merge topic 'ci-linkcheck'
0787148785 gitlab-ci: Report sphinx logs as artifacts of its lint job
14506f49a2 Utilities/Sphinx: Configure linkcheck allowed permanent redirects
3c5b34af9d Help: Replace links with their permanent redirects
1004be159f FindCUDAToolkit: Replace broken links to NVIDIA documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8210
2023-02-17 08:54:51 -05:00
Brad King
0787148785 gitlab-ci: Report sphinx logs as artifacts of its lint job 2023-02-17 08:45:01 -05:00
Brad King
f83fecded0 Merge topic 'ci-cxx-modules-clang'
65ff605e44 ci: use the latest clang-scan-deps options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8208
2023-02-16 11:20:50 -05:00
Kefu Chai
65ff605e44 ci: use the latest clang-scan-deps options
P1689 support has been merged in Clang trunk and Clang 16 branch, so we
are now able to use the finalized clang-scan-deps command line options.

See also llvm-project's clang/test/ClangScanDeps/P1689.cppm [1] for the
samples of clang-scan-deps usages.

[1] https://github.com/llvm/llvm-project/blob/6d859df46e/clang/test/ClangScanDeps/P1689.cppm

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-02-15 14:40:11 -05:00
Brad King
1e35257ee1 ci: Enable FindPatch tests on Windows VS builds
The `patch` tool comes with Git for Windows, which is installed on our
Windows CI hosts as part of running their gitlab-runner.
2023-02-13 12:35:46 -05:00
Brad King
49f32b27ed Merge topic 'test-https-connections'
3350c17451 ci: Enable file(DOWNLOAD) TLS_VERIFY test case in CI jobs
17b47da3d8 Tests: Add test for file(DOWNLOAD) with TLS_VERIFY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8194
2023-02-11 06:33:20 -05:00
Brad King
3350c17451 ci: Enable file(DOWNLOAD) TLS_VERIFY test case in CI jobs 2023-02-10 12:22:00 -05:00
Brad King
61f271f6ed Merge topic 'feature/sphinx-linkcheck'
6789af36bf Help: Fix broken links found by `linkcheck`
8f4bd3bf7e ci: Check for broken links when build HTML manual

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8177
2023-02-08 11:44:57 -05:00
Alex Turbov
8f4bd3bf7e ci: Check for broken links when build HTML manual 2023-02-07 23:32:48 +04:00
Alex Turbov
fc8335a17f ci: Reduce Fedora and Debian image sizes even more
Apply the approach from commit 354fdf2116 (ci: Reduce intermediate
docker layers and final image size, 2023-02-01) to more stages.

Also:

* Use cache (prefetch metadata and packages) to reduce network I/O
  and speedup image build.

* Use `tmpfs` to drop logs produced by the package manager.
2023-02-07 11:58:21 -05:00
Alex Turbov
354fdf2116 ci: Reduce intermediate docker layers and final image size
Instead of `COPY` to get tar files, execute `RUN` w/ `--mount`.
Note that this requires the docker "buildkit" feature to be enabled.
2023-02-06 10:13:06 -05:00
Ben Boeckel
d5ee82104f ci: support debugging IWYU in CI
Instead of requiring setting up a mock CI environment with the official
image locally. While such docs would be handy anyways, requiring that
entire setup to get a small piece of information from a build is
unnecessary.
2023-01-30 15:25:24 -05:00
Brad King
09cb6c48e2 Merge topic 'iwyu-better-ci-logs'
bf3425c3d2 ci: add a comment to run IWYU in verbose mode
25f0b4f397 CMake: add an option to run IWYU in verbose mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8130
2023-01-30 10:19:31 -05:00
Ben Boeckel
bf3425c3d2 ci: add a comment to run IWYU in verbose mode
Useful to avoid setting up the CI locally to get a single extra message.
2023-01-27 11:18:59 -05:00
hstejas
1bba218214 FindImageMagick: Define targets for specific components
- With this change we can use e.g. ImageMagick::Magick++ directly
  in targt_link_libraries.
- This change also adds CFLAGS which was missing before.
- Also adds example on how to use the targets.
2023-01-27 10:33:10 -05:00
Brad King
85f16fe913 ci: add ImageMagick to Debian and Fedora base images 2023-01-26 13:00:28 -05:00
Brad King
ebd81d0e12 ci: rebase nvidia-derived docker images on tags we control
According to NVIDIA's container image support policy [1], they will
remove tags for older images over time.  In order to preserve our
ability to rebuild CI images based on them in the future, base them on
tags we control.

[1] https://gitlab.com/nvidia/container-images/cuda/blob/85fbd45b92/doc/support-policy.md
2023-01-20 13:00:19 -05:00
Brad King
02599da236 Merge topic 'cxxmodules-clang-update'
5dc17d0a7a gitlab-ci: update to new Clang CI image for C++ modules
e84fcbcb0b cxxmodules: support new round of Clang patches
5e35913382 ci: update `llvm` snapshot to newest patch revisions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8019
2022-12-17 08:47:31 -05:00
Brad King
b04e53035a Merge topic 'ci-xcode-14.2'
85d2ce0bfe gitlab-ci: update macOS jobs to use Xcode 14.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8023
2022-12-16 08:49:49 -05:00
Ben Boeckel
5dc17d0a7a gitlab-ci: update to new Clang CI image for C++ modules 2022-12-15 18:43:55 -05:00
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
Brad King
85d2ce0bfe gitlab-ci: update macOS jobs to use Xcode 14.2 2022-12-15 17:43:58 -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
ae610be60f gitlab-ci: de-duplicate cuda job settings 2022-12-07 09:41:04 -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
Brad King
399d62db8b Merge topic 'cxxmodules-vs'
52c21cbbda ci: enable C++20 module testing with the VS 2022 generator
2991e92ea7 cmExperimental: recycle C++20 module support UUID
82833fb3c0 Help/dev/experimental: document C++20 module limitations
388acfd46d Tests/RunCMake/CXXModules: add support for Visual Studio
069a32b03c Tests/RunCMake/CXXModules: split out collation-requiring tests
ef03a3a2f5 Tests/RunCMake/CXXModules: factor out generator support detection
736123464f Tests/RunCMake/CXXModules: update `NoDyndepSupport` for VS2019 and older
4a4ce031cd Tests/RunCMake/CXXModules: catch VS circular error message
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7972
2022-12-02 08:24:05 -05:00
Brad King
3c07549b51 Merge topic 'ci-os-arch'
6a38c5dccb gitlab-ci: replace 'linux' tags with 'linux-x86_64' in upload jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !7976
2022-12-02 08:22:33 -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
Brad King
2a139018ce Merge topic 'find_cudatoolkit_avoid_nvhpc_symlinks'
9d012b1f69 FindCUDAToolkit: Ensure that paths provided have no symlinks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7974
2022-12-01 08:02:49 -05:00
Brad King
6a38c5dccb gitlab-ci: replace 'linux' tags with 'linux-x86_64' in upload jobs
These were missed by commit 94d82d91d5 (gitlab-ci: replace 'linux'
tags with 'linux-x86_64', 2022-11-30).
2022-12-01 07:55:51 -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
c212c7dc8b gitlab-ci: drop unnecessary linux kernel version tag
All our CI hosts now have Linux kernel version 3.17 or higher,
so we no longer need a dedicated tag.
2022-11-30 13:11:11 -05:00
Brad King
33fe37a660 gitlab-ci: replace '{macos,windows}' tags with '{macos,windows}-x86_64'
The latter tags are now available on our CI runners to more explicitly
distinguish `{macos,windows}-x86_64` from `{macos,windows}-arm64`.
2022-11-30 11:32:31 -05:00
Brad King
94d82d91d5 gitlab-ci: replace 'linux' tags with 'linux-x86_64'
The latter tag is now available on our CI runners to more explicitly
distinguish `linux-x86_64` from `linux-aarch64`.
2022-11-30 11:32:10 -05:00
Brad King
e8c6e06815 gitlab-ci: rename tag configuration entries to start in '$os_$arch_tags'
This groups their definitions nicely, and makes their purpose more
clear from reference sites.
2022-11-30 11:27:56 -05:00
Brad King
ebbc3a8171 gitlab-ci: remove unnecessary component of configuration entry names
The '_builder' part of tag entry names is not useful with our current
naming conventions.
2022-11-30 11:27:35 -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
96b939584b Merge topic 'ci-msvc-14.34'
bd5176abac gitlab-ci: Update Windows packaging builds to MSVC 14.34 toolset
ccdff280f4 gitlab-ci: Update Windows non-packaging builds to MSVC 14.34 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7891
2022-11-11 08:29:11 -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
bd5176abac gitlab-ci: Update Windows packaging builds to MSVC 14.34 toolset
Problems with `cmake-gui` when compiled with the MSVC 14.33 toolset,
that did not occur with the MSVC 14.32 toolset, no longer occur with the
MSVC 14.34 toolset.  Revert commit cb8b27a901 (gitlab-ci: Use separate
MSVC toolset specification for packaging jobs, 2022-08-18, v3.24.2~24^2~1)
and update the remaining toolset version references.

Fixes: #23859
2022-11-10 13:27:38 -05:00
Brad King
ccdff280f4 gitlab-ci: Update Windows non-packaging builds to MSVC 14.34 toolset 2022-11-10 13:27:37 -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
d332a2c71e Merge topic 'ci-xcode-14.1'
0d3d687067 gitlab-ci: update macOS jobs to use Xcode 14.1
9684a589ca Source: Replace uses of sprintf with safer snprintf in CMake 3.24 branch
eea23d21a3 Source: Tell Git not to check whitespace in third-party curses form code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7863
2022-11-04 11:24:20 -04:00
Brad King
8ad7e55308 Merge topic 'ci-xcode-14.1' into release-3.25
0d3d687067 gitlab-ci: update macOS jobs to use Xcode 14.1
9684a589ca Source: Replace uses of sprintf with safer snprintf in CMake 3.24 branch
eea23d21a3 Source: Tell Git not to check whitespace in third-party curses form code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7863
2022-11-04 11:24:19 -04:00
Brad King
0d3d687067 gitlab-ci: update macOS jobs to use Xcode 14.1 2022-11-03 11:58:31 -04: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
Brad King
c23ebfa333 ci: Tell Git to ignore files known to be downloaded by jobs 2022-10-05 12:22:49 -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
42c0428e5f Merge topic 'ci-xcode-14.0'
9cdf4c9be4 gitlab-ci: update macOS jobs to use Xcode 14.0
5d2c2b2558 Tests: Update RunCMake.XcodeProject iOS cases for Xcode 14.0
12c6fec6b4 Xcode: Drop CMAKE_INTDIR= definition in Swift targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7732
2022-10-03 10:31:27 -04:00
Brad King
9cdf4c9be4 gitlab-ci: update macOS jobs to use Xcode 14.0 2022-09-30 13:08:06 -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
Kyle Edwards
0ac9ec47f6 ci: add clang-tidy to Debian x86_64 base image
Issue: #23912
2022-09-22 11:44:59 -04:00
Brad King
94b27ccc36 ci: add support for gitlab-runner 'shell = pwsh' executor
Run powershell child scripts using the same powershell tool as the
parent script.
2022-09-12 12:47:42 -04:00
Brad King
de32c8ddbe ci: start every windows job with custom environment script 2022-09-12 12:45:45 -04:00
Brad King
906b1a0bc4 ci: allow powershell variables assigned in env scripts to persist
Load env scripts with `.` sourcing instead of `Invoke-Expression`.
This allows powershell variables to persist, much like bash.

Leave helper script loading unchanged, as those scripts may set
powershell variables that we do not want to persist.
2022-09-12 12:42:25 -04:00
Kyle Edwards
703f39354e ci: add clang-tidy development headers to Fedora base image
Prepare to build our own clang-tidy plugin in CI.
2022-08-31 15:07:20 -04:00
Dawid Wróbel
e706da5f7e FindOpenSP: Add module to find the OpenSP library
OpenSP has not seen a release in seventeen years, so is unlikely to ever
provide a CMake package configuration file.  Add a find module instead.
2022-08-30 13:55:07 -04:00
Brad King
4bcdf1b992 ci: add OpenSP to Debian and Fedora base images 2022-08-30 12:46:03 -04:00
Brad King
3490d7a9fc ci: Enable MSVC C++ module support tests
Since commit b87645b6a5 (gitlab-ci: Update non-packaging Windows builds
to MSVC 14.33 toolset, 2022-08-18), the version of MSVC used in CI test
jobs supports the `cl -scanDependencies` functionality we need to
support C++ modules.  Enable the corresponding tests.
2022-08-22 16:50:51 -04:00
Brad King
b9dd9b09a2 Merge topic 'ci-msvc-14.33'
b87645b6a5 gitlab-ci: Update non-packaging Windows builds to MSVC 14.33 toolset
cb8b27a901 gitlab-ci: Use separate MSVC toolset specification for packaging jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7597
2022-08-22 09:46:29 -04:00
Brad King
b87645b6a5 gitlab-ci: Update non-packaging Windows builds to MSVC 14.33 toolset
Restore the change from commit 6f17996edc (gitlab-ci: Update Windows
builds to MSVC 14.33 toolset, 2022-08-15, v3.24.1~3^2), but not for
packaging jobs.  `cmake-gui` is still buggy when compiled with
the newer toolset.

Issue: #23859
2022-08-19 07:30:54 -04:00
Brad King
cb8b27a901 gitlab-ci: Use separate MSVC toolset specification for packaging jobs
This will be useful for testing CMake with one version of MSVC
while packaging the official binaries with another version.

Issue: #23859
2022-08-19 07:30:42 -04:00
Brad King
fbef4c6ced Merge topic 'ci-linux-extdeps'
b55152e7ad gitlab-ci: add jobs to test CMake with external dependencies on Linux
6a05d107ca ci: add CMake external build dependencies to Debian and Fedora base images
d3c1b8a491 jsoncpp: Require version 1.6.0 when using system-provided library
68d3ca7008 Tests: Fix RunCMake.FileAPI test with jsoncpp < 1.7.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7592
2022-08-19 07:20:18 -04:00
Brad King
dc4c0e29a4 Merge topic 'ci-cmake-update'
05a1464689 ci: use CMake 3.24.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7590
2022-08-19 07:17:34 -04:00
Brad King
b55152e7ad gitlab-ci: add jobs to test CMake with external dependencies on Linux
Test that CMake works without its bundled dependencies.
For some dependencies, test using the minimum supported version.
2022-08-18 15:49:08 -04:00
Brad King
6a05d107ca ci: add CMake external build dependencies to Debian and Fedora base images 2022-08-18 15:49:08 -04:00
Brad King
05a1464689 ci: use CMake 3.24.1 2022-08-18 10:01:20 -04:00
Brad King
1bb359464f Merge topic 'revert-ci-msvc-14.33'
3a7202bfc7 gitlab-ci: Revert Windows builds from MSVC 14.33 to MSVC 14.32 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7586
2022-08-17 12:51:07 -04:00
Brad King
3a7202bfc7 gitlab-ci: Revert Windows builds from MSVC 14.33 to MSVC 14.32 toolset
Revert commit 6f17996edc (gitlab-ci: Update Windows builds to MSVC 14.33
toolset, 2022-08-15).  A `cmake-gui` built with the MSVC 14.33 toolset
emits spurious errors when configuring CMake projects, even when the
adjacent `cmake` binary succeeds reliably.  Revert to the known-working
MSVC 14.32 toolset pending further investigation.

Issue: #23859
2022-08-17 12:43:07 -04:00
Brad King
8a2eafe485 Merge topic 'ci-msvc-14.33'
6f17996edc gitlab-ci: Update Windows builds to MSVC 14.33 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7578
2022-08-17 08:34:06 -04:00
Brad King
6f17996edc gitlab-ci: Update Windows builds to MSVC 14.33 toolset 2022-08-16 13:20:48 -04:00
Brad King
3afb7b25fb Merge topic 'remove-cmakeserverlib-references'
bf7e3124cb Remove stale references to CMakeServerLib

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7537
2022-08-03 09:45:55 -04:00
Brad King
e2112b3778 Merge topic 'cpp-named-module-support-msvc'
4f95e6b284 ci: test BMI exporting and installation with GCC in CI
c49d5f137b RunCMake/CXXModules: add a "deep-chain" test
297e0f4dce cmCxxModuleMapper: support MSVC module map format
b3c2880cb2 cmCxxModuleMapper: track transitive modules for MSVC
a43713d615 CTestCustom: ignore `cm::optional` uninitialized memory false positive
b90de0b492 RunCMake/CXXModules: support MSVC extensions
a84c186a7d cmScanDepFormat: support the MSVC 17.3 toolchain temporarily
d7f5064ff7 cmScanDepFormat: support P1689R5
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7481
2022-08-03 09:45:15 -04:00
Brad King
734c2f8944 Merge topic 'ci-wix-host'
9ff7fffbf4 ci: host WiX 3.14.0.6526 binaries ourselves

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7538
2022-08-03 09:37:55 -04:00
Brad King
9ff7fffbf4 ci: host WiX 3.14.0.6526 binaries ourselves
Since commit 06c6e76a12 (ci: update to WiX 3.14.0.6526, 2022-06-10,
v3.24.0-rc1~4^2~2) we download the WiX binaries from `wixtoolset.org`
instead of a `github.com` CDN.  Avoid hitting their organization site
on every CI job by hosting the binaries at `cmake.org`.
2022-08-02 14:38:22 -04:00
Kyle Edwards
bf7e3124cb Remove stale references to CMakeServerLib 2022-08-02 11:05:52 -04:00
Ben Boeckel
4f95e6b284 ci: test BMI exporting and installation with GCC in CI 2022-08-02 10:53:38 -04:00
Brad King
7d0d6d7e44 Merge topic 'ci-xcode-13.4'
eddf057830 gitlab-ci: update macOS jobs to use Xcode 13.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7520
2022-07-28 10:39:08 -04:00
Brad King
da7f3c09bf Merge topic 'ci-xcode-13.4' into release-3.24
eddf057830 gitlab-ci: update macOS jobs to use Xcode 13.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7520
2022-07-28 10:39:07 -04:00
Brad King
eddf057830 gitlab-ci: update macOS jobs to use Xcode 13.4 2022-07-28 09:27:27 -04:00
Brad King
71a6982e91 Merge topic 'gcc-modules-ci-missing-git'
5db79b5cd3 gitlab-ci: update to an image with git installed
3e1ace7f46 ci: add git to the CI image

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7398
2022-06-23 09:37:40 -04:00
Brad King
91e3f2e088 ci: Enable FindOpenAL test on Linux builds 2022-06-22 09:16:26 -04:00
Brad King
2f3ea66a76 Merge topic 'ci-openal'
b97d371007 ci: Add OpenAL to Debian and Fedora base images

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7394
2022-06-22 08:46:31 -04:00
Ben Boeckel
5db79b5cd3 gitlab-ci: update to an image with git installed 2022-06-21 17:39:11 -04:00
Ben Boeckel
3e1ace7f46 ci: add git to the CI image
This allows the CDash submission to know what commit is being submitted
and show up in MR pipeline status links made by our workflow processes.
2022-06-21 14:17:59 -04:00
Brad King
b97d371007 ci: Add OpenAL to Debian and Fedora base images 2022-06-21 12:27:58 -04:00
Brad King
32604113b6 Merge topic 'ci-rel-win-arm64'
41ea4d4de8 ci: Rebuild Qt 6.3.0 windows-arm64 dependency with LLVM/Clang
e0d9ee0cc4 Utilities/Release: Simplify script to build Qt 6.3.0 Windows binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7380
2022-06-20 09:57:23 -04:00
Brad King
d94e09ec88 Merge topic 'cpp-named-module-file-sets'
07bc3b07ec gitlab-ci: test C++ modules using GCC
1b2270aa4e ci: add a Docker image to test out C++ modules with GCC
8c5a53096a Tests/RunCMake/CXXModules: add module-using examples
4151547e2f cmGlobalNinjaGenerator: use `cmModuleMapper` implementation
b43bdaff3c cmCxxModuleMapper: implement support for GCC's module map format
02d0f0e752 cmCxxModuleMapper: add source to handle module mapper contents
a046a45aad cmGlobalNinjaGenerator: add a TODO for header units
386465bf83 cmTarget: add support for C++ module fileset types
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7369
2022-06-17 11:35:12 -04:00
Brad King
41ea4d4de8 ci: Rebuild Qt 6.3.0 windows-arm64 dependency with LLVM/Clang
In commit 7a21173b0e (gitlab-ci: Add job to build Windows arm64
binaries, 2022-06-13, v3.24.0-rc1~4^2~1) we built the Qt binaries using
the MSVC 14.32 toolset targeting arm64.  However, the `cmake-gui` built
with them does not start, perhaps due to a bug in MSVC's ARM64 support.
Run the `Utilities/Release/win/qtbase-6.3.0-win-msvc.cmake` script for
`i386` and `x86_64`.  Run it for `arm64` with the `clang-cl` argument.

Issue: #21902
2022-06-17 11:04:11 -04:00
Ben Boeckel
07bc3b07ec gitlab-ci: test C++ modules using GCC 2022-06-16 10:28:34 -04:00
Ben Boeckel
1b2270aa4e ci: add a Docker image to test out C++ modules with GCC 2022-06-16 10:28:34 -04:00
Brad King
dfa5401af6 ci: use CMake 3.24.0-rc1 2022-06-14 14:21:01 -04:00
Brad King
7a21173b0e gitlab-ci: Add job to build Windows arm64 binaries
Base it on the approach from commit 4c7c66dcf5 (gitlab-ci: Add jobs to
make Windows x86_64 and i386 packages, 2022-05-19).  Leave out the
packaging and upload steps for now because they are only for the nightly
binaries, and will need a new release of CPack to pass the `arm64`
architecture to WiX.

Issue: #21902
2022-06-13 15:04:24 -04:00
Brad King
06c6e76a12 ci: update to WiX 3.14.0.6526
This version supports the `arm64` architecture.
2022-06-13 15:02:51 -04:00
Brad King
cca3a73ef0 ci: Factor out Windows x86-family-specific package configuration 2022-06-13 15:02:51 -04:00
Brad King
add3dc9508 ci: Re-order logic for downloading Qt during packaging
Prepare to support per-architecture URLs.
2022-06-13 15:02:51 -04:00