Commit Graph

590 Commits

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