Commit Graph

430 Commits

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