Commit Graph

10306 Commits

Author SHA1 Message Date
Brad King
8ce4e76dbf Merge topic 'autogen-test-file-generate'
08d49cfee6 Autogen: Add AUTOMOC test /w file(Generate)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8496
2023-05-22 12:38:33 -04:00
Brad King
dc4a53f49e Merge topic 'FileAPI-framework'
b3a6a11e95 fileapi: Extend codemodel targets/compileGroups with Apple frameworks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8489
2023-05-22 12:35:28 -04:00
Orkun Tokdemir
08d49cfee6 Autogen: Add AUTOMOC test /w file(Generate)
Fixes: #20382
2023-05-19 16:28:51 +02: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
Marc Chevrier
b3a6a11e95 fileapi: Extend codemodel targets/compileGroups with Apple frameworks
Fixes: #19897
2023-05-19 12:10:20 +02:00
Brad King
80181da866 Tests: Add option to control timeout of BootstrapTest 2023-05-18 13:42:42 -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
4d5c32fa2c Merge topic 'skip-linting'
775c369420 Autogen: set SKIP_LINTING ON for generated files
b480315e0c TargetGenerator: Add SKIP_LINTING source property
993dde925f TargetGenerator: Factor out generation of code check rules
023af4ab2f Improve Const Correctness

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8467
2023-05-18 09:24:17 -04:00
Ben Boeckel
69e4525241 Tests/CXXModules: add example for private modules between targets
Adapted from the example in issue #24652 by Ivan Garramona.
2023-05-18 08:34:31 -04:00
Orkun Tokdemir
775c369420 Autogen: set SKIP_LINTING ON for generated files
Fixes: #19772
2023-05-16 10:56:25 -04:00
Orkun Tokdemir
b480315e0c TargetGenerator: Add SKIP_LINTING source property
The `SKIP_LINTING` source property was added to disable code check for
desired source files. The `SKIP_LINTING`includes `cpplint`, `clang-tidy`, \
`cppcheck` and `include-what-you-use`. If `SKIP_LINTING` is set on a
source file, the tools mentioned above will not be run on that source file.
2023-05-16 10:47:56 -04:00
Brad King
ee0a157755 Merge topic 'test-xcode'
a4d114e8cd Tests: Split some RunCMake.XcodeProject cases into a separate test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8478
2023-05-16 10:45:03 -04:00
Brad King
a59b35ba33 Merge topic 'msvc-wine-showIncludes'
fb3c4715cd Ninja: Restore detection of msvc-wine showIncludes prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: huangqinjin <huangqinjin@gmail.com>
Merge-request: !8479
2023-05-16 10:40:09 -04:00
Ben Boeckel
e8efcbec8c iwyu: ignore std::remove_reference requirements
This removes some includes from some existing files.
2023-05-15 22:26:36 -04:00
Brad King
fb3c4715cd Ninja: Restore detection of msvc-wine showIncludes prefix
Since commit 8f82e755f3 (Ninja: Fix detection of MSVC showIncludes
prefix in Italian, 2023-01-26, v3.26.0-rc1~20^2) our regex no longer
matches the output from `msvc-wine`, which uses forward slashes:

    Note: including file: /path/to/foo.h

`cl /showIncludes` under Wine prints paths of the form `Z:\path\to\file`,
but the `msvc-wine` wrapper converts them to the form `/path/to/file` so
that native Ninja can be used.  Update our regex to match the prefix
followed by a path with a leading forward slash.

Fixes: #24908
2023-05-15 15:34:55 -04:00
Brad King
a4d114e8cd Tests: Split some RunCMake.XcodeProject cases into a separate test
The `RunCMake.XcodeProject` has many cases and occasionally fails
due to timeout.  Move iOS and other device-specific cases to a new
`RunCMake.XcodeProject-Device` test.
2023-05-15 10:18:54 -04:00
Brad King
4a1421efad Merge topic 'system-framework'
ad9020a899 Apple Frameworks: honor SYSTEM target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8469
2023-05-12 09:26:56 -04:00
Marc Chevrier
ad9020a899 Apple Frameworks: honor SYSTEM target property
Fixes: #24109
2023-05-11 10:24:18 +02:00
Brad King
3a9b8ef047 Tests: Teach ISPC tests to run on macOS arm64 host 2023-05-10 10:04:48 -04:00
Brad King
6aae34ec53 Tests: Fix RunCMake.XcodeProject XcodeSchemaGeneration case on arm64
Explicitly specify the xcodebuild scheme destination architecture to
match the host.
2023-05-10 10:04:48 -04:00
Brad King
1f1894af1f Ninja: Fix Fortran INCLUDE directive dependencies when not preprocessing
Since commit b0a6161190 (Fortran: Add Fortran_PREPROCESS property,
2020-04-24, v3.18.0-rc1~116^2~3), if `Fortran_PREPROCESS` is `OFF`, the
Ninja generator does not properly detect dependencies on sources loaded
via the Fortran INCLUDE directive.  Fix this and add a test.
2023-05-09 09:56:42 -04:00
Brad King
efadf839be Tests: Teach RunCMake to ignore LLVMFlang -flang-experimental-exec warning
This flag is needed for now to tell `flang-new` to support creating
executables.  In our CI job we always pass this flag, but it is not
always used.  The compiler may warn:

    flang-new: warning: argument unused during compilation: '-flang-experimental-exec'

Teach RunCMake to drop such incidental lines before matching against
expected output.
2023-05-09 09:23:36 -04:00
Brad King
c78be340ba Tests: Teach RunCMake to ignore Intel Fortran remark 10440
The Intel Fortran compiler may remark:

    ifx: remark #10440: Note that use of a debug option without any
    optimization-level option will turnoff most compiler optimizations
    similar to use of '-O0'

Teach RunCMake to drop such incidental lines before matching against
expected output.

This extends commit b2d030e8fe (Tests: Teach RunCMake to ignore Intel
-Rdebug-disables-optimization remarks, 2022-06-14, v3.26.0-rc1~395^2)
to cover the `ifx` Fortran compiler too.
2023-05-09 09:09:12 -04:00
Brad King
250f66acfe Merge topic 'ctest-timeout-zero'
0a5aeaf302 cmCTestRunTest: Consolidate test timeout selection logic
426e38cc10 cmCTestRunTest: Adopt decision for starting cmProcess timer
59336b29bd cmCTestRunTest: Remove unnecessary arguments to ForkProcess
07b5087ba7 Help: Document meaning of TIMEOUT test property with value 0
3edf7fbb41 ctest: Fix TIMEOUT test property with value 0 with --timeout flag
39a20a56dd Tests: Move `CTestTestZeroTimeout` into `RunCMake.CTestTimeout`
cd4038fe94 cmCTestTestHandler: Use in-class initialization of properties and results

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8455
2023-05-05 12:43:50 -04:00
Brad King
5924630e6d Merge topic 'compile-only-genex'
c42630ee62 cmGeneratorExpressionNode: implement `COMPILE_ONLY` genex
0fb923c460 cmGeneratorExpressionNode: implement `COMPILE_ONLY` genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8411
2023-05-05 12:42:23 -04:00
Brad King
76940fecde Merge topic 'FindCUDAToolkit_more_library_root_detection'
587c0443cc FindCUDAToolkit: Support CUDA version extraction from version.json

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8451
2023-05-05 12:34:54 -04:00
Brad King
3edf7fbb41 ctest: Fix TIMEOUT test property with value 0 with --timeout flag
An explicit zero TIMEOUT test property value should not be overridden by
the `--timeout` flag.
2023-05-04 16:58:03 -04:00
Brad King
39a20a56dd Tests: Move CTestTestZeroTimeout into RunCMake.CTestTimeout 2023-05-04 16:58:03 -04:00
Robert Maynard
587c0443cc FindCUDAToolkit: Support CUDA version extraction from version.json
Fixes: #24858
2023-05-04 12:26:04 -04:00
Robert Maynard
c42630ee62 cmGeneratorExpressionNode: implement COMPILE_ONLY genex
This generator expression is the inverse of `LINK_ONLY` and only coveys
usage requirements for the purposes of compilation. Its intended use is
to avoid needing to export targets that do not have link usage
requirements (e.g., header-only libraries) when used by another target.

See: #15415
2023-05-04 09:39:06 -04:00
Brad King
0d2d5a229c Merge topic 'use-linker-depfile'
375e6fdbbe Link step: use linker dependency linker file
24a3e5cda0 cmLocalGenerator::MayBeRelativeToWorkDir: take care of all cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8443
2023-05-04 09:06:23 -04:00
Brad King
28dd02c3ba Merge topic 'autogen-system-include'
7bf4e30090 Autogen: Default AUTOGEN_USE_SYSTEM_INCLUDE to ON if it is not set
033dc7ee2f Autogen: Add AUTOGEN_USE_SYSTEM_INCLUDE target property
8ba16db163 Tests/RunCMake: Add option for dynamic expected output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8400
2023-05-04 09:01:08 -04:00
Marc Chevrier
375e6fdbbe Link step: use linker dependency linker file
Based on work done by @ben.boeckel (!8051)

Fixes: #22217
2023-05-03 17:08:07 +02:00
Orkun Tokdemir
7bf4e30090 Autogen: Default AUTOGEN_USE_SYSTEM_INCLUDE to ON if it is not set
Add policy CMP0151 to preserve the old behavior by default.
2023-05-03 09:03:46 -04:00
Orkun Tokdemir
033dc7ee2f Autogen: Add AUTOGEN_USE_SYSTEM_INCLUDE target property
`AUTOGEN_USE_SYSTEM_INCLUDE` was added. `AUTOGEN_USE_SYSTEM_INCLUDE`
is a boolean property that can be set on a target to indicate that the
autogen target include directory should be added as a system include
directory or normal include directory to the target.
2023-05-03 09:03:46 -04:00
Brad King
2488d6dbf7 Merge topic 'ci-intel-windows'
195339e7ac gitlab-ci: Add job testing Intel 2021.9.0 compilers on Windows
1b44973343 gitlab-ci: Add job testing IntelLLVM 2023.1.0 compilers on Windows
a5fd03a53d Tests: Teach CompileFeatures to tolerate __STDC_VERSION__ on Intel Classic
1b7649604e Tests: Teach RunCMake to ignore Intel Classic deprecation on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8447
2023-05-02 08:49:35 -04:00
Brad King
5b4ed96ddc Merge topic 'FindX11-even-more-xcb-components'
65ade59835 FindX11: Remove HAS_X11_xcb check from xcb tests
b1b7298b17 FindX11: Fix typo bug, xvmc -> xv
922a97f38a FindX11: Add tests for newly added xcb libraries
7a2b02e000 FindX11: Fix existing tests
9d21d115c6 FindX11: Add more components to FindX11 tests
858fd8ece8 FindX11: Add many new xcb modules
45c3831369 FindX11: Arrange xcb modules in proper alphabetical order
a0d8556bf7 FindX11: Change find_path search string for Xaw

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8366
2023-05-02 08:41:43 -04:00
Brad King
a5fd03a53d Tests: Teach CompileFeatures to tolerate __STDC_VERSION__ on Intel Classic 2023-05-01 15:51:21 -04:00
Brad King
1b7649604e Tests: Teach RunCMake to ignore Intel Classic deprecation on Windows
Extend commit 29e45a94b0 (Tests: Teach RunCMake to ignore Intel Classic
compiler deprecation warnings, 2022-10-03, v3.25.0-rc1~51^2~1) to cover
warnings from `icl` too.
2023-05-01 15:51:21 -04:00
Brad King
4dc47f82c2 Merge topic 'CMake-uses-cmList-class'
241304190f CMake code rely on cmList class for CMake lists management (part. 2)
87fe031a07 cmList class: various enhancements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8441
2023-05-01 11:38:32 -04:00
Marc Chevrier
241304190f CMake code rely on cmList class for CMake lists management (part. 2) 2023-04-29 09:54:31 +02:00
Marc Chevrier
87fe031a07 cmList class: various enhancements 2023-04-29 09:54:22 +02:00
Moses Miller
65ade59835 FindX11: Remove HAS_X11_xcb check from xcb tests 2023-04-28 14:54:35 -07:00
Jannik Alber
1d6db66179 CPack: Add Inno Setup generator 2023-04-28 09:33:28 -04:00
Orkun Tokdemir
8ba16db163 Tests/RunCMake: Add option for dynamic expected output
Add `RunCMake_TEST_EXPECT_*` variables for this.
2023-04-27 12:19:28 -04:00
Craig Scott
0ca98beb57 Merge topic 'ExternalProject-relative-git-urls'
550f63447d ExternalProject/FetchContent: Support relative remote URLs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7988
2023-04-27 09:12:26 -04:00
Brad King
2fbcc81440 Merge topic 'vs-show-cmake-files'
df58dbb0e9 VS: Add CMake input files to ZERO_CHECK
659e9ae937 cmGlobalVisualStudio8Generator: Collect CMake input files earlier

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8260
2023-04-27 09:10:56 -04:00
Brad King
c6bcb53a50 Merge topic 'orkun_21455_26_04_2023'
315b13432c Autogen: Update test comments about Qt versions
64b44b362b Autogen: Add AUTORCC test /w AUTOGEN_BUILD_DIR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8434
2023-04-27 09:09:21 -04:00
Brad King
d5095028ea Merge topic 'preset-includes-macro-expansion'
f552ba6e6d presets: add support for macro expansion to includes
1df24df01f presets: Fix encoding of env/penv macro expansion on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8255
2023-04-27 09:05:13 -04:00