summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Merge topic 'test-xcode-14.3' into release-3.26Brad King2023-04-041-0/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | 3bb46b29fd Tests: Teach RunCMake to ignore Xcode DVTCoreDeviceEnabledState warnings Merge-request: !8392
* | \ \ Merge topic 'system-framework'Brad King2023-05-121-0/+12
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | ad9020a899 Apple Frameworks: honor SYSTEM target property Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8469
| * | | Apple Frameworks: honor SYSTEM target propertyMarc Chevrier2023-05-111-0/+12
| | | | | | | | | | | | | | | | Fixes: #24109
* | | | Tests: Teach ISPC tests to run on macOS arm64 hostBrad King2023-05-103-2/+11
| | | |
* | | | Tests: Fix RunCMake.XcodeProject XcodeSchemaGeneration case on arm64Brad King2023-05-102-1/+2
| | | | | | | | | | | | | | | | | | | | Explicitly specify the xcodebuild scheme destination architecture to match the host.
* | | | Ninja: Fix Fortran INCLUDE directive dependencies when not preprocessingBrad King2023-05-099-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Tests: Teach RunCMake to ignore LLVMFlang -flang-experimental-exec warningBrad King2023-05-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Tests: Teach RunCMake to ignore Intel Fortran remark 10440Brad King2023-05-091-0/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge topic 'ctest-timeout-zero'Brad King2023-05-055-4/+30
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | ctest: Fix TIMEOUT test property with value 0 with --timeout flagBrad King2023-05-042-1/+8
| | | | | | | | | | | | | | | | | | | | An explicit zero TIMEOUT test property value should not be overridden by the `--timeout` flag.
| * | | Tests: Move `CTestTestZeroTimeout` into `RunCMake.CTestTimeout`Brad King2023-05-044-3/+22
| | | |
* | | | Merge topic 'compile-only-genex'Brad King2023-05-054-0/+11
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | cmGeneratorExpressionNode: implement `COMPILE_ONLY` genexRobert Maynard2023-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | cmGeneratorExpressionNode: implement `COMPILE_ONLY` genexBen Boeckel2023-04-124-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. It will also be used to represent private usage requirements on exported C++ module-containing targets in the future. Eventually there should be logic to collapse nesting of `$<COMPILE_ONLY>` and `$<LINK_ONLY>` when generating instances of either. A TODO is left in the code for this case. See: #15415
* | | | Merge topic 'use-linker-depfile'Brad King2023-05-0410-8/+105
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Link step: use linker dependency linker fileMarc Chevrier2023-05-0310-8/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on work done by @ben.boeckel (!8051) Fixes: #22217
* | | | | Merge topic 'autogen-system-include'Brad King2023-05-049-0/+109
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Autogen: Default AUTOGEN_USE_SYSTEM_INCLUDE to ON if it is not setOrkun Tokdemir2023-05-034-2/+32
| | | | | | | | | | | | | | | | | | | | Add policy CMP0151 to preserve the old behavior by default.
| * | | | Autogen: Add AUTOGEN_USE_SYSTEM_INCLUDE target propertyOrkun Tokdemir2023-05-035-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `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.
| * | | | Tests/RunCMake: Add option for dynamic expected outputOrkun Tokdemir2023-04-271-0/+2
| | | | | | | | | | | | | | | | | | | | Add `RunCMake_TEST_EXPECT_*` variables for this.
* | | | | Tests: Teach RunCMake to ignore Intel Classic deprecation on WindowsBrad King2023-05-011-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge topic 'ExternalProject-relative-git-urls'Craig Scott2023-04-2716-0/+293
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 550f63447d ExternalProject/FetchContent: Support relative remote URLs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7988
| * | | | ExternalProject/FetchContent: Support relative remote URLsChris Wright2023-04-2616-0/+293
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach `ExternalProject_Add` and `FetchContent_Declare` to resolve relative remote URLs provided via `GIT_REPOSITORY`. Add policy CMP0150 to maintain compatibility. Fixes: #24211 Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* | | | Merge topic 'vs-show-cmake-files'Brad King2023-04-274-0/+240
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | VS: Add CMake input files to ZERO_CHECKAlexander Neundorf2023-04-254-0/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add all cmake input files to the `ZERO_CHECK` project. Place files under `CMAKE_SOURCE_DIR` in a folder structure matching the directory structure. This way they are easier to find, and Visual Studio does not close them when reloading the project. Fixes: #24557
* | | | | Merge topic 'preset-includes-macro-expansion'Brad King2023-04-276-0/+39
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | presets: add support for macro expansion to includesZoran Angelov2023-04-266-0/+39
| |/ / / / | | | | | | | | | | | | | | | Only `$penv{}` can be expanded when processing includes.
* | | | | Merge topic 'iwyu_errors'Brad King2023-04-267-0/+18
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | fcacc319d9 IWYU: Return error code if user enables error reporting Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8406
| * | | | IWYU: Return error code if user enables error reportingAshish Sadanandan2023-04-257-0/+18
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously CMake ignored the return code from iwyu because old versions of the tool would exit with an error code even when no header include violations were detected. The iwyu project has since changed this behavior, so the tool no longer returns an error code unless the user enables error reporting via command line arguments. Behavior seen with iwyu version 0.19 Source file with missing includes: - Case 1: iwyu arguments: - return code: 0 - output: <report of all missing includes> - Case 2: iwyu arguments: `-Xiwyu --error` - return code: 1 - output: <report of all missing includes> Source file with no missing includes: - Case 1: iwyu arguments: - return code: 0 - output: `(/path/to/file.cc has correct #includes/fwd-decls)` - Case 2: iwyu arguments: `-Xiwyu --error` - return code: 0 - output: `(/path/to/file.cc has correct #includes/fwd-decls)` Teach CMake to return the iwyu return code if the user has invoked the tool with any of these command line arguments included: - `--error[=N]` - `--error_always[=N]` Fixes: #24066
* | | | CMake code rely on cmList class for CMake lists management (part. 1)Marc Chevrier2023-04-241-1/+2
| | | |
* | | | GenEx LIST: list operationsMarc Chevrier2023-04-16147-2/+1386
|/ / / | | | | | | | | | Fixes: #24550, #24547
* | | Merge topic 'python-file-encoding'Craig Scott2023-04-091-3/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b855674f5d Tests: Always load presets schema as UTF-8 0de00b8b69 Sphinx: Modernize UTF-8 encoding handling when updating CMake.qhp f0d6010cb5 Sphinx: Specify encoding when opening files for title extraction Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8402
| * | | Tests: Always load presets schema as UTF-8Craig Scott2023-04-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We know the encoding of the schema file, so we should specify it when we open it for reading. Previously, by not specifying it, the test was open to using an encoding based on the active locale when running the test. We may have been enforcing a "C" locale at a higher level, but we don't need to rely on that here, we can force correct behavior without that assumption. Issue: #24679
* | | | list(): rely on cmList classMarc Chevrier2023-04-081-1/+1
|/ / / | | | | | | | | | Fixes: #24549
* | | Merge topic 'vs-sdk-selection'Brad King2023-04-0619-2/+176
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8ecb645934 VS: Select Windows SDK matching WindowsSDKVersion env var f90c8ab54e VS: Select latest available Windows SDK version by default b512c53d43 VS: Add support for setting WindowsTargetPlatformVersion to 10.0 2f3d945f83 VS: Add CMAKE_GENERATOR_PLATFORM field to control Windows SDK selection f0a67b6291 VS: Parse comma-separated fields from CMAKE_GENERATOR_PLATFORM e259063b0a VS: Defer Windows SDK selection until CMAKE_GENERATOR_PLATFORM is known 8499374c6a VS: Simplify logic to require SDK for Windows Store 1c8d4b4bf1 Tests: Teach RunCMake_TEST_FILTER to account for test variant description Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8389
| * | | VS: Select Windows SDK matching WindowsSDKVersion env varBrad King2023-04-052-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In an environment established by `vcvarsall.bat` or similar, this environment variable may be set to select a Windows SDK version. If the VS generator is used in such an environment, use that SDK. This is similar to how `CMAKE_GENERATOR_INSTANCE` defaults using a `VS##0COMNTOOLS` environment variable. Fixes: #17992
| * | | VS: Select latest available Windows SDK version by defaultBrad King2023-04-052-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add policy `CMP0149` to stop preferring SDKs exactly matching `CMAKE_SYSTEM_VERSION` over the latest SDK. Fixes: #16202
| * | | VS: Add support for setting WindowsTargetPlatformVersion to 10.0Brad King2023-04-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | VS 2019 and above support this value to select a SDK version automatically. Fixes: #21403
| * | | VS: Add CMAKE_GENERATOR_PLATFORM field to control Windows SDK selectionBrad King2023-04-0512-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a `version=` field to explicitly control the SDK version selection without relying on `CMAKE_SYSTEM_VERSION`. Fixes: #16713
| * | | VS: Parse comma-separated fields from CMAKE_GENERATOR_PLATFORMBrad King2023-04-057-0/+33
| | | |
| * | | Tests: Teach RunCMake_TEST_FILTER to account for test variant descriptionBrad King2023-04-051-2/+6
| | | |
* | | | Merge topic 'test-xcode-14.3'Brad King2023-04-041-0/+1
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | 3bb46b29fd Tests: Teach RunCMake to ignore Xcode DVTCoreDeviceEnabledState warnings Merge-request: !8392
| * | | Tests: Teach RunCMake to ignore Xcode DVTCoreDeviceEnabledState warningsBrad King2023-04-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some Xcode versions, `xcodebuild` may warn: ... xcodebuild[...] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default Teach RunCMake to drop such incidental lines before matching against expected output.
* | | | Tests: Fix RunCMake infrastructure for LCC and CMP0129Brad King2023-04-035-12/+10
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 3958ed878f (LCC: Add policy CMP0129 regarding interpreting LCC as GNU, 2021-10-19, v3.23.0-rc1~508^2) we intended to enable policy `CMP0129` in RunCMake tests via `-DCMAKE_POLICY_DEFAULT_CMP0129=NEW`. Fix the condition activating that to check `CMAKE_C_COMPILER_ID` where it is always available. Remove now-unnecessary CMP0129 settings in RunCMake cases.
* | | Merge topic 'automoc-cxx-standard'Brad King2023-03-316-0/+114
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 429a452705 Autogen: Add target's C++ standard to moc_predef.h 21f812e57c Autogen: Split creation and setup of custom targets into separate steps Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8359
| * | | Autogen: Add target's C++ standard to moc_predef.hOrkun Tokdemir2023-03-306-0/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generate `moc_predef.h` using the same C++ standard level that will be used to compile the target so that the compiler's predefined macros can be more accurately recovered. Fixes: #24624 Qt-Issue: https://bugreports.qt.io/browse/QTBUG-110847
* | | | Merge topic 'remove-FindPythonInterp-FindPythonLibs'Brad King2023-03-3130-0/+159
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a4c5b91f80 FindPython{Interp,Libs}: Add policy to remove these modules Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8380
| * | | | FindPython{Interp,Libs}: Add policy to remove these modulesBrad King2023-03-3030-0/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `FindPythonInterp` and `FindPythonLibs` modules have been deprecated since CMake 3.12. Add a policy to pretend they do not exist in order to encourage projects to port to `FindPython` or `FindPython{2,3}`.
* | | | | presets: Add trace options to configure presetsArtin Alavi2023-03-3018-0/+118
|/ / / / | | | | | | | | | | | | | | | | | | | | Add JSON schema version 7 to support them. Fixes: #22543
* | | | Merge topic 'presets-json-errors'Brad King2023-03-3087-104/+238
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 19305afd8a presets: Improve JSON parser and error messages Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8290