Commit Graph

941 Commits

Author SHA1 Message Date
Brad King d5cfe692c9 Merge topic 'ci-valgrind'
e981fc4f4d gitlab-ci: add a job to test with Valgrind on Linux with Ninja
f1e8762a8b ci: support valgrind memcheck runs
f22d8a3f36 ci: support memcheck-testing external test processes
35337bcc06 gitlab-ci: report JUnit results for memcheck runs
8459ff022b ci: factor out memcheck "prep" logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11257
2025-10-08 09:11:58 -04:00
Ben Boeckel e981fc4f4d gitlab-ci: add a job to test with Valgrind on Linux with Ninja 2025-10-07 10:47:42 -04:00
Ben Boeckel f1e8762a8b ci: support valgrind memcheck runs 2025-10-07 10:47:42 -04:00
Ben Boeckel f22d8a3f36 ci: support memcheck-testing external test processes 2025-10-06 15:26:00 -04:00
Ben Boeckel 35337bcc06 gitlab-ci: report JUnit results for memcheck runs 2025-10-06 15:26:00 -04:00
Ben Boeckel 8459ff022b ci: factor out memcheck "prep" logic
This is to support running memcheck as part of the "standalone"
workflow.
2025-10-06 15:26:00 -04:00
Brad King fa9a556c7f ci: Drop unnecessary hard-coding of C++11 in gcov jobs
In commit f7b0ddbe92 (gitlab-ci: add a series of jobs to perform
coverage, 2025-09-24) we accidentally copied the C++11 specification
from the `fedora42-ninja` jobs.  Drop it.
2025-10-06 10:03:14 -04:00
Brad King 8f166fa51e ci: Add jobs to perform coverage with BullseyeCoverage on Linux 2025-10-05 07:04:03 -04:00
Brad King cb3d917289 ci: Add script to install BullseyeCoverage in Linux jobs 2025-10-05 07:03:49 -04:00
Brad King 2548b6e24d ci: add pre-test step 2025-10-03 18:33:39 -04:00
Brad King 8d0ecda821 ci: add pre-build step after configure but before build 2025-10-03 18:17:15 -04:00
Brad King 206b831973 ci: rename pre-build step to pre-configure since that is when it runs 2025-10-03 18:17:14 -04:00
Brad King ceecafd7d5 Merge topic 'ci-gcov'
f7b0ddbe92 gitlab-ci: add a series of jobs to perform coverage
cedd32892e ci: support setting a different test timeout for CI
da4a1ec2ff gitlab-ci: add support for running gcov-based coverage
61aed5e5f2 CTestCustom: ignore coverage results from coverage tests
7191d72acd Tests/EnforceConfig: clear the `CMAKE_BUILD_TYPE` environment variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11245
2025-10-01 11:39:29 -04:00
Ben Boeckel f7b0ddbe92 gitlab-ci: add a series of jobs to perform coverage 2025-09-30 23:17:14 -04:00
Ben Boeckel cedd32892e ci: support setting a different test timeout for CI 2025-09-30 23:17:14 -04:00
Brad King a562072eb1 ci: Add valgrind to Fedora base image
Make it available for a `ctest_memcheck` step in CI, or for a test
case of `ctest` itself.
2025-09-29 15:53:34 -04:00
Ben Boeckel da4a1ec2ff gitlab-ci: add support for running gcov-based coverage 2025-09-29 11:11:07 -04:00
Brad King 8a42714672 Merge topic 'ci-cuda-13.0'
b233e5bd05 ci: add job testing cuda13.0 with nvcc
87f60d81b9 ci: add cuda13.0 base image
72b8814f85 CUDA: Properly construct CUcontext in tests
f25982c422 CUDA: Update all tests to support NPPIF CUDA 13 deprecations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11211
2025-09-25 09:06:33 -04:00
Brad King b233e5bd05 ci: add job testing cuda13.0 with nvcc 2025-09-24 08:29:07 -04:00
Brad King 87f60d81b9 ci: add cuda13.0 base image
Include support for cross-compiling to aarch64.
2025-09-24 08:29:06 -04:00
Brad King 331921e7c9 Merge topic 'ci-xcode-26'
965a12cb8a ci: update macOS jobs to use Xcode 26.0
edaa6ed06a Tests: Teach RunCMake to ignore Xcode an IDERunDestination warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11209
2025-09-21 18:56:49 -04:00
Brad King 965a12cb8a ci: update macOS jobs to use Xcode 26.0 2025-09-19 08:19:34 -04:00
Ben Boeckel 85e536b5eb gitlab-ci: test CMAKE_CXX_STDLIB_MODULES_JSON in CI
Do this by relocating the file to a sibling directory so that its `../`
contents continue to find the correct module interface files, but it
won't be found by default.
2025-09-11 23:42:31 -04:00
Brad King 042b88e3f4 Merge topic 'object-name-properties'
b53837a1bd prop_sf/INSTALL_OBJECT_NAME: support custom install object names
08f1a0fbc6 cmLocalGenerator: get the configuration when building object paths
168e55be41 cmObjectLocation: support install-specific object locations
84372ce0b5 prop_sf/OBJECT_NAME: no-op for the FASTBuild and Xcode generators
9ef99353cb prop_sf/OBJECT_NAME: support custom object names
7aff0d37b5 cmSourceFile: add accessors for PCH source files
bbdc2fd908 cmSourceFile: internally track CMake-managed source files
388923818d cmGeneratorTarget: return the source file added
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11144
2025-09-10 10:01:47 -04:00
Alex Turbov 8fb6449275 ci: Update to typos 1.36.1 in Fedora base image 2025-09-08 12:20:28 -04:00
Ben Boeckel 53ba88b863 gitlab-ci: hide Intel Classic jobs from MRs
These jobs require secrets not available to merge request pipelines.
2025-09-08 11:59:56 -04:00
Daniel Nicoletti 1a6dbcc9ea CPack: Add AppImage generator
This AppImage generator only relies on appimagetool and patchelf.

Closes: #27104
Co-authored-by: Brad King <brad.king@kitware.com>
2025-09-03 18:50:40 -04:00
Brad King 9f2949bc68 ci: Add script to install appimagetool in Linux jobs 2025-09-03 18:00:57 -04:00
Brad King 069f858f42 ci: Add patchelf and appstream to Fedora base image
These are needed to test the CPack AppImage generator.
2025-09-03 17:47:39 -04:00
Brad King 94113ac687 ci: Add jobs for FASTBuild generator on Linux, macOS, and Windows 2025-08-26 14:29:05 -07:00
Brad King 383406fc18 Merge topic 'pass-trivial-by-value'
b1fdab3cc1 source: Pass small and trivially copyable types by value
7829ea76ad source: Pass cmFileTime by value
99c10afc26 source: Pass trivial dap::*Event by value
0bcb8d6e3c source: Pass cmFileAPI::Object by value
964e992ec5 source: Pass cmCTestResourceAllocator::Resource by value
ee1c32b6d7 source: Pass cmBuildOptions by value
fa0e5906ff source: Pass cmStringRange by value
0c4040057a source: Pass cm::string_view by value

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10948
2025-08-02 06:23:48 -04:00
Brad King 63753ed9ff Merge topic 'ci-iar'
49382f0377 ci: Update to IAR arm 9.70.1, riscv 3.40.1, rl78 5.20.1, rx 5.20.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10999
2025-08-02 06:16:42 -04:00
Brad King 49382f0377 ci: Update to IAR arm 9.70.1, riscv 3.40.1, rl78 5.20.1, rx 5.20.1
Run `.gitlab/ci/repackage/iar.ps1` with the installer and host the
package archives ourselves.
2025-08-01 12:18:19 -04:00
Brad King 26357b1ddf Merge topic 'ci-warning-flags'
b51127249e ci: Enable -Wstrict-prototypes in tests for merge request pipelines
58d5f34d31 Replace deprecated -Werror-implicit-function-declaration with -Werror=
78c0935c9b Enable -Wundefined-func-template when building CMake's C++ code
2c6dde430a Enable -Wstrict-prototypes when building CMake's C code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10983
2025-08-01 11:18:05 -04:00
Daniel Pfeifer b1fdab3cc1 source: Pass small and trivially copyable types by value 2025-08-01 09:56:00 -04:00
Brad King b51127249e ci: Enable -Wstrict-prototypes in tests for merge request pipelines
Enable it in Makefile generator jobs that run in merge requests.
In particular, this causes RunCMake tests to fail if they build
C code with a missing function prototype because the compiler's
stderr reaches RunCMake's checks.  Catch this before staging.

Skip enabling this in the Fedora+Makefiles job because Fedora's GCC
now defaults to C23 under which -Wstrict-prototypes does not warn.

Suggested-by: Matthew Woehlke <matthew.woehlke@kitware.com>
2025-07-31 10:10:15 -04:00
Brad King 15f788814e ci: Configure clazy job to build with system jsoncpp
Extend commit bdb9d818d2 (ci: Add lint job to run clazy on our
C++ code, 2025-07-22) to avoid linting third-party jsoncpp code.
2025-07-29 14:56:23 -04:00
Brad King bdb9d818d2 ci: Add lint job to run clazy on our C++ code
Suppress all failing checks for now.  They can be incrementally
enabled and fixed in the future.
2025-07-24 10:45:05 -04:00
Brad King c6b2439aad ci: Add clazy to Fedora base image 2025-07-24 10:44:59 -04:00
Brad King 671b52fc5d Merge topic 'pchreuse-refactor'
11ee18b758 ci: extend msvc_v71_nmake `RunCMake.PrecompileHeaders` test timeout
1c91fadbe8 Tests/RunCMake/PrecompileHeaders: support extended timeout
42f2867b3b pchreuse: defer dependency addition until generation time
f9bc615d9a pchreuse: ban PCH reuse from targets which disable PCH
f78f592b78 pchreuse: defer target existence enforcement to generation time
3ef773490d pchreuse: defer PCH consistency checks to generation time
1d701491a2 pchreuse: always ask the PCH reuse target for PDB information
6e7da8aa95 cmGeneratorTarget: factor out reuse target computation
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: alcroito <alexandru.croitor@qt.io>
Acked-by: Vincent X <gulackeg@gmail.com>
Merge-request: !10887
2025-07-23 12:07:07 -04:00
Brad King 7f168d5bb1 Merge topic 'msvc-std-clatest'
0d758be222 MSVC: Enable C23 language support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10949
2025-07-23 11:59:21 -04:00
Michael Hirsch 0d758be222 MSVC: Enable C23 language support
Introduced support via `-std:clatest` in cl 19.39.
2025-07-22 13:50:44 -04:00
Ben Boeckel 11ee18b758 ci: extend msvc_v71_nmake RunCMake.PrecompileHeaders test timeout 2025-07-22 12:42:58 -04:00
Brad King 82ac700f78 ci: Drop nightly job that builds CMake with vendored curl on macOS
Revert commit 31884a7146 (ci: Add nightly job to build CMake with
vendored curl on macOS, 2024-05-09, v3.30.0-rc1~130^2).  After
curl 8.15.0 dropped support for the Secure Transport backend, we
rely on the curl provided by macOS to use the system certificate
store.
2025-07-21 14:03:33 -04:00
Brad King cbc3166ca4 Merge topic 'clang-cl-c23'
9a720d96eb clang-cl: Add support for C23

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !10916
2025-07-02 08:01:58 -04:00
Yonggang Luo 9a720d96eb clang-cl: Add support for C23
Although there is no `cl -std:c23` flag, the underlying Clang compiler
does have a C23 mode we can activate by passing `-std=c23` through a
`clang-cl` wrapper flag.

Also port the fix from commit 30139913e9 (VS: Restore support for mixing
C++23 and C in one target with clang-cl, 2024-12-09, v3.31.3~10^2).

Fixes: #27038
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: Brad King <brad.king@kitware.com>
2025-07-01 11:20:56 -04:00
Brad King d89f1cbc16 ci: Enable Emscripten test on some Debian jobs in nightly pipeline 2025-06-17 15:07:46 -04:00
Brad King 33082bf817 ci: add scripts to install Emscripten 4.0.9 2025-06-17 15:07:46 -04:00
Brad King 7fdbd6a292 Merge topic 'ci-xcode-16.4'
25ffa98d99 ci: update macOS jobs to use Xcode 16.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10886
2025-06-17 09:02:10 -04:00
Brad King 25ffa98d99 ci: update macOS jobs to use Xcode 16.4 2025-06-13 14:28:29 -04:00