summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Add explicit ConfigureLog case to RunCMake.try_compileBrad King2023-01-165-0/+60
|
* Merge topic 'fea/add-copy_directory_if_different'Brad King2023-01-131-0/+9
|\ | | | | | | | | | | | | | | c1170b5602 cmake: Add -E copy_directory_if_different Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8059
| * cmake: Add -E copy_directory_if_differentRobert Maynard2023-01-121-0/+9
| | | | | | | | Fixes #21584
* | Merge topic 'try_run-cross-compile'Brad King2023-01-132-0/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 5cd5c8cac5 Merge branch 'backport-try_run-cross-compile' into try_run-cross-compile 0191e8b512 try_run: Do not require unrequested stdout/stderr when cross-compiling 2f85ec0a37 try_run: Avoid crash in keyword-dispatched signature when cross-compiling Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8066
| * \ Merge branch 'backport-try_run-cross-compile' into try_run-cross-compileBrad King2023-01-122-0/+10
| |\ \ | | |/ | |/|
| | * try_run: Avoid crash in keyword-dispatched signature when cross-compilingBrad King2023-01-122-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Since commit aa9220d3a0 (try_compile: Add keyword-dispatched signature, 2022-09-02, v3.25.0-rc1~178^2) the `DoNotRunExecutable` code path may be reached with no single source-file argument. Do not assume it exists. Fixes: #24295
* | | Merge topic 'implicit-includes'Brad King2023-01-132-4/+4
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 607bccb4ef Restore implicit include directory extraction for adaptive relative paths Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8067
| * | Restore implicit include directory extraction for adaptive relative pathsBrad King2023-01-122-4/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Update the logic added by commit ef41d49812 (Fix implicit include directory extraction for adaptive relative paths, 2019-04-08, v3.14.2~5^2) to account for the new `try_compile` work directory used for the ABI check since commit 2edf0fc6d7 (Modules: Use new keyword-dispatched try_compile signature, 2022-09-13, v3.25.0-rc1~144^2). Paths relative to the work directory will now have one more `../` in them, so update the test data to match. Fixes: #24279
| * Merge topic 'try_compile-copy-config' into release-3.25Brad King2022-11-232-0/+9
| |\ | | | | | | | | | | | | | | | | | | | | | | | | 80fc564dd7 try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATION Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !7948
* | | FileAPI: Add "configureLog" object kindBrad King2022-12-1710-1/+64
| | | | | | | | | | | | | | | | | | | | | Provide clients with a way to get a known set of configure log event versions. Issue: #23200
* | | Merge topic 'cxxmodules-clang-update'Brad King2022-12-178-8/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5dc17d0a7a gitlab-ci: update to new Clang CI image for C++ modules e84fcbcb0b cxxmodules: support new round of Clang patches 5e35913382 ci: update `llvm` snapshot to newest patch revisions Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8019
| * | | cxxmodules: support new round of Clang patchesBen Boeckel2022-12-158-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These patches now support the `-MF` output, so remove the `none` support added just for the old patchset which did not use it. Also update the flag name to `-fmodule-output=`. Due to the new Clang module mapper flag, use a new experimental support UUID as well.
* | | | ConfigureLog: Version individual events instead of the whole logBrad King2022-12-162-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to support multiple log versions without buffering the entire log, move versioning to the level of individual events. Multiple versions of an event may then be logged consecutively. Issue: #23200
* | | | ConfigureLog: Log try_compile and try_run checksMatthew Woehlke2022-12-167-0/+166
| | | | | | | | | | | | | | | | | | | | | | | | Add configure log events for `try_compile` and `try_run` results. Issue: #23200
* | | | ConfigureLog: Add infrastructure for structured configure event loggingMatthew Woehlke2022-12-161-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add infrastructure for a "configure log". Use YAML for a balance of machine- and human-readability to records details of configure-time events in a structured format. Teach the RunCMake test framework to support matching the configure log. Issue: #23200
* | | | Tests: Generalize RunCMake expectation component namesMatthew Woehlke2022-12-141-31/+27
|/ / / | | | | | | | | | | | | | | | Do not assume all the component names start in "std". Co-authored-by: Brad King <brad.king@kitware.com>
* | | COMPILE_DEFINITIONS property: ensure leading -D is removed in all casesMarc Chevrier2022-12-1311-0/+83
| | | | | | | | | | | | Fixes: #24186
* | | Merge topic 'file-make-directory-descriptive-errors'Brad King2022-12-094-0/+14
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | efae1ab68b file(MAKE_DIRECTORY): Provide a more descriptive error message Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8003
| * | | file(MAKE_DIRECTORY): Provide a more descriptive error messageTerence Noone2022-12-084-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | Previously, MAKE_DIRECTORY would print `problem creating directory: {}`, which was very unhelpful for debugging. Extend the message with the OS error string.
* | | | Merge topic 'vs-version-var'Brad King2022-12-082-0/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5ce0f03cce VS: Add a variable to report the Visual Studio version build number 55529c5e93 Help: Factor out VS Build Number components document fragment Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8000
| * | | | VS: Add a variable to report the Visual Studio version build numberBrad King2022-12-072-0/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VS 2017 and above come with a Visual Studio Installer tool that tracks four-component Visual Studio version numbers. We already detect the VS version number because it is needed to make some generation decisions. Provide the number to projects in a `CMAKE_VS_VERSION_BUILD_NUMBER` variable so they can use it similarly. Fixes: #24230
* | | | Tests: Teach RunCMake.FindBoost to avoid finding an external BoostBrad King2022-12-071-0/+4
|/ / / | | | | | | | | | | | | The `ConfigModeNotFound` case does not expect to find a Boost. Avoid accidentally finding one on the host.
* | | Merge topic 'vs-dotnet-sdk-xaml-resx'Brad King2022-12-079-0/+351
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | c445dd2797 VS: Add Xaml and Resx files to .Net SDK style projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7991
| * | | VS: Add Xaml and Resx files to .Net SDK style projectsQuentin Berthet2022-12-069-0/+351
| | | | | | | | | | | | | | | | | | | | | | | | Improve parity with classic MSBuild projects. Fixes: #23415
* | | | Merge topic 'clang-tidy-export-fixes-dir'Brad King2022-12-0712-0/+191
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 232467eb1c clang-tidy: add <LANG>_CLANG_TIDY_EXPORT_FIXES_DIR property Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7982
| * | | | clang-tidy: add <LANG>_CLANG_TIDY_EXPORT_FIXES_DIR propertyKyle Edwards2022-12-0612-0/+191
| |/ / / | | | | | | | | | | | | Fixes: #21362
* | | | cmake: Stop parsing after `--` when detecting script modeRobert Maynard2022-12-062-0/+11
| | | | | | | | | | | | | | | | Fixes #24220
* | | | Merge topic 'cxx-module-map-clang'Brad King2022-12-061-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2c558cfd1b gitlab-ci: add CI jobs for Clang with C++20 modules abd42e9cfc ci: add a Docker container for clang support of C++20 modules 51093f3002 Clang-FindBinUtils: also find `clang-scan-deps` 0b333de923 ci: add C++ module rules file for Clang 21b9fb1e8c cmCxxModuleMapper: support the `clang` module map format 9c66224668 cmNinjaTargetGenerator: skip setting `depfile` for `none` scantypes 9123a0991f cmNinjaTargetGenerator: use `.clear()` to empty out some strings Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Cristian Adam <cristian.adam@gmail.com> Merge-request: !7978
| * | | | cmCxxModuleMapper: support the `clang` module map formatBen Boeckel2022-12-021-1/+1
| | | | |
* | | | | Tests: Enable RunCMake.file-GET_RUNTIME_DEPENDENCIES linux cases on XLBrad King2022-12-022-2/+5
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | These were excluded with the XL and XLClang compilers because one such compiler in nightly testing hard-codes `--enable-new-dtags`. Add a way to disable the cases via local configuration instead so that we can run them on the rest of the XL compilers.
* | | | Merge topic 'file-GET_RUNTIME_DEPENDENCIES-transitive-rpath'Brad King2022-12-026-3/+84
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 136622a2b2 file(GET_RUNTIME_DEPENDENCIES): propagate transitive parent's rpath 4aa3149c67 Tests: Simplify RunCMake.file-GET_RUNTIME_DEPENDENCIES case cleaning Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7968
| * | | | file(GET_RUNTIME_DEPENDENCIES): propagate transitive parent's rpathAlex Lapenkou2022-12-026-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes incorrect runtime dependency resolution when the dependency is located in rpaths of a transitive parent. Instead of supplying only the rpaths of the immediate parent, it combines the rpaths of all transitive parents and passes them down. Fixes: #24172
| * | | | Tests: Simplify RunCMake.file-GET_RUNTIME_DEPENDENCIES case cleaningBrad King2022-11-291-3/+1
| | | | |
* | | | | cmExperimental: recycle C++20 module support UUIDBen Boeckel2022-12-018-8/+8
| | | | | | | | | | | | | | | | | | | | Visual Studio support warrants a new ID.
* | | | | Tests/RunCMake/CXXModules: add support for Visual StudioBen Boeckel2022-12-012-0/+8
| | | | |
* | | | | Tests/RunCMake/CXXModules: split out collation-requiring testsBen Boeckel2022-12-011-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Visual Studio does not currently have a place to insert the logic required to implement this test, so skip it if possible.
* | | | | Tests/RunCMake/CXXModules: factor out generator support detectionBen Boeckel2022-12-011-3/+8
| | | | | | | | | | | | | | | | | | | | This keeps the condition to a readable limit.
* | | | | Tests/RunCMake/CXXModules: update `NoDyndepSupport` for VS2019 and olderBen Boeckel2022-12-011-0/+5
| | | | |
* | | | | Tests/RunCMake/CXXModules: catch VS circular error messageBen Boeckel2022-12-011-1/+1
| | | | |
* | | | | Tests/RunCMake/CXXModules: mask scanning checks without controlBen Boeckel2022-12-017-21/+38
| |/ / / |/| | | | | | | | | | | | | | | In Visual Studio, there is no mechanism to tell scanning apart from non-scanning, so skip the sanity checks.
* | | | cmTargetPropCommandBase: Restore ArgumentFlags enum value bool logicCraig Scott2022-11-274-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The values of the cmTargetPropCommandBase::ArgumentFlags enum are combined in boolean OR and AND operations in various places. That used to be valid, but some values were added over time which did not preserve support for such boolean logic. Update the enum values such that they are increasing powers of 2 to restore that capability. Fixes: #24199
* | | | Merge topic 'cxxmodule-module-support-tweaks'Brad King2022-11-232-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c53748cc09 Tests/RunCMake/CXXModules: mark IMPORTED targets as INTERFACE a971fcfde7 cmNinjaNormalTargetGenerator: use `cmStrCat` b7509d6bf8 cmNinjaNormalTargetGenerator: fix grammar in verbose comment 0015cb95de cmGlobalNinjaGenerator: fix comment typo Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7943
| * | | | Tests/RunCMake/CXXModules: mark IMPORTED targets as INTERFACEBen Boeckel2022-11-212-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that `Ninja` generators will know to generate rules for `IMPORTED` targets, mark these as `INTERFACE` to avoid requirements of actual artifacts.
* | | | | Merge topic 'try_compile-copy-config'Brad King2022-11-232-0/+9
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 80fc564dd7 try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATION Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !7948
| * | | | try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATIONBrad King2022-11-222-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 0c141b0393 (try_compile: Record output location instead of reverse computing it, 2022-08-31, v3.25.0-rc1~154^2) we always look for the "Debug" configuration's output binary from the test project. Restore looking for the `CMAKE_TRY_COMPILE_CONFIGURATION`. Fixes: #24180
* | | | | Merge topic 'XCode-XCODE_LINK_BUILD_PHASE_MODE-and-LINK_LIBRARY-genex'Brad King2022-11-234-8/+74
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | 61075d2d7b XCode: ensure LINK_LIBRARY genex is usable with XCODE_LINK_BUILD_PHASE_MODE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7947
| * | | | XCode: ensure LINK_LIBRARY genex is usable with XCODE_LINK_BUILD_PHASE_MODEMarc Chevrier2022-11-224-8/+74
| |/ / / | | | | | | | | | | | | Fixes: #24176
* | | | Merge topic 'find_dependency-dedup'Brad King2022-11-228-0/+31
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fb9a3d0c7d find_dependency: Avoid repeating identical dependency searches 5fbda0f572 find_dependency: Unset temporary variables before returning 591b75ee17 Tests: Add case covering transitive find_dependency calls Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7936
| * | | | find_dependency: Avoid repeating identical dependency searchesBrad King2022-11-181-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 37da6af17d (find_dependency: Always search dependencies, 2019-03-29, v3.15.0-rc1~301^2) we search for a package every time it is encountered in the transitive dependency graph traversal, even if it has been found before. This was done in case a new visit to a given package requests different components than a previous visit. However, it also causes a lot of repeat processing that is unnecessary in the common case that all calls share the same set of components (often none). Restore the logic to avoid repeating the search for an already-found package. Handle differences in components by de-duplicating based on the complete `find_package` call arguments. Fixes: #23685
| * | | | Tests: Add case covering transitive find_dependency callsBrad King2022-11-188-0/+36
| | | | | | | | | | | | | | | | | | | | Issue: #23685