summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * | | presets: Improve JSON parser and error messagesMartin Duffy2023-03-2987-104/+238
| | | |
* | | | install(TARGETS): Do not apply installation tweaks to NAMELINK filesBrad King2023-03-282-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These files are symlinks to the real binaries, and we already apply tweaks to those. Previously we generated installation tweak code guarded by a `NOT IS_SYMLINK` condition that is never true. Drop the code altogether. Add a test covering the motivating use case, in which a `POST_BUILD` step modifies the namelink file to not actually be a symlink. Fixes: #24647
* | | | Merge topic 'lint-genex'Brad King2023-03-285-8/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 099934e313 Add generator expression support to static code analysis hooks Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8361
| * | | | Add generator expression support to static code analysis hooksStefan Schober2023-03-275-8/+8
| | |/ / | |/| | | | | | | | | | | | | | | | | | Teach target properties `<LANG>_CPPCHECK`, `<LANG>_CPPLINT`, `<LANG>_CLANG_TIDY` and `<LANG>_INCLUDE_WHAT_YOU_USE` to accept generator expressions.
* | | | Merge topic 'crosscompiling-warn-reset'Brad King2023-03-274-0/+10
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4d23636694 Warn if CMAKE_CROSSCOMPILING is true without CMAKE_SYSTEM_NAME set Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8358
| * | | | Warn if CMAKE_CROSSCOMPILING is true without CMAKE_SYSTEM_NAME setMartin Storsjö2023-03-244-0/+10
| |/ / / | | | | | | | | | | | | | | | | Also clarify the `CMAKE_CROSSCOMPILING` documentation to state that CMake sets the variable automatically.
* | | | file(GET_RUNTIME_DEPENDENCIES): Preserve casing for Windows PE binariesChristian Heimlich2023-03-235-3/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Windows PE files the `file(GET_RUNTIME_DEPENDENCIES)` command converts the name of all DLLs found during binary scanning to lowercase in order to simplify the syntax requirements of its regex filters; however, this has the side-effect of causing all DLL paths returned via RESOLVED_DEPENDENCIES_VAR to be in lowercase, regardless of their actual casing. Instead, respect the original casing as closely as possible when returning resolved dependencies after all filters have been passed: When evaluating a Windows PE format binary on a non-Windows host the casing of dependencies recorded within the binary are used. When the host is running Windows, the actual casing of the dependencies on-disk are used instead. Fixes: #23091
* | | | Tests: Add test for file(GET_RUNTIME_DEPENDENCIES) with MixedCase.dllChristian Heimlich2023-03-232-1/+5
|/ / / | | | | | | | | | Issue: #23091
* | | Merge topic 'file-REAL_PATH'Brad King2023-03-211-0/+16
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1d12853ed3 file(REAL_PATH): Ensure same behavior as get_filename_component(REALPATH) Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8348
| * | | file(REAL_PATH): Ensure same behavior as get_filename_component(REALPATH)Marc Chevrier2023-03-201-0/+16
| | | | | | | | | | | | | | | | Fixes: #24605
* | | | Merge topic 'clang-cl-showIncludes'Brad King2023-03-215-0/+22
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 843fc607de Ninja: Restore detection of clang-cl showIncludes prefix 3346570ae9 Tests: Comment RunCMake.Ninja ShowIncludes sample input languages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8344
| * | | Ninja: Restore detection of clang-cl showIncludes prefixYR Chen2023-03-205-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 `clang-cl`, which uses a relative path, forward slashes, and is always in English [1]: Note: including file: ./foo.h Update the regex to match that too. [1] https://github.com/llvm/llvm-project/blob/llvmorg-16.0.0/clang/lib/Frontend/HeaderIncludeGen.cpp#L102 Co-authored-by: Brad King <brad.king@kitware.com>
| * | | Tests: Comment RunCMake.Ninja ShowIncludes sample input languagesBrad King2023-03-201-0/+6
| | | |
* | | | Merge topic 'vs-BuildInParallel'Brad King2023-03-161-6/+18
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4c866cac40 VS: Do not regenerate build system concurrently with CMP0147 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8329