summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* try_compile: Run native build tool with verbose outputBrad King2023-01-204-1/+25
| | | | | | Make the compiler command lines visible in the configure log. Issue: #23200
* Merge topic 'configure-log'Brad King2023-01-198-18/+87
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | f6ed2585e5 Modules: Record system inspection steps in the configure log 0f688386ea Modules: Drop redundant check logging to CMakeOutput.log and CMakeError.log ecc26f98eb UsewxWidgets: Remove leftover debugging code 874c2e1198 FindQt4: Drop outdated advice to look at CMakeError.log on failure a80465bcad GHS: Drop debugging message from log 9199449687 CompileFeatures: Warn explicitly when feature detection binary is not found 24ccc8c3c9 CompilerId: Restore logging of failed identifications 95976514f6 Tests: Avoid using CMake{Output,Error}.log files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8089
| * Modules: Record system inspection steps in the configure logBrad King2023-01-186-10/+71
| | | | | | | | | | | | | | | | Replace old-style `file(APPEND .../CMake{Output,Error}.log)` logging with calls to `message(CONFIGURE_LOG)` to record the steps in the `CMakeConfigureLog.yaml` configure log instead. Issue: #23200
| * Tests: Avoid using CMake{Output,Error}.log filesBrad King2023-01-182-8/+16
| | | | | | | | These log files will soon go away, so avoid using them in tests.
* | Merge topic 'optimize-full-name-function'Brad King2023-01-191-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | a525f5f1bf cmGeneratorTarget: Cache full name components Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8033
| * | cmGeneratorTarget: Cache full name componentsPierre Testart2023-01-181-1/+1
| | | | | | | | | | | | | | | Cache the result of cmGeneratorTarget::GetFullNameInternalComponents to improve performance.
* | | Revise C++ coding style using clang-format-15Kitware Robot2023-01-1810-11/+12
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 15. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit. Fixes: #24315
* | Merge topic 'configure-log'Brad King2023-01-188-1/+50
|\ \ | | | | | | | | | | | | | | | | | | | | | a78cba5197 message: Add CONFIGURE_LOG mode to record a message in the configure log 645671d36f Help: Document configure log behavior in try_compile and try_run Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8080
| * | message: Add CONFIGURE_LOG mode to record a message in the configure logBrad King2023-01-188-1/+50
| | | | | | | | | | | | | | | | | | | | | Provide a replacement for `file(APPEND .../CMake{Output,Error}.log)` that records messages in the configure log. Issue: #23200
* | | clang-format.bash: Use generic clang-format attributeBrad King2023-01-182-2/+2
|/ / | | | | | | | | | | | | Specify the clang-format version in the attribute value instead of its name. Issue: #24315
* | Merge topic 'configure-log'Brad King2023-01-1716-0/+144
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 48292c8624 try_compile: Record stack of in-progess checks in configure log d4bf7d80c6 try_compile: Add a NO_LOG option to skip recording in the configure log 9d9e8450a8 try_compile: Add optional LOG_DESCRIPTION to record in configure log 65ed5c2ca8 try_compile: Report underlying error when COPY_FILE fails 0418efb7ad Tests: Add explicit ConfigureLog case to RunCMake.try_compile 189557bd74 cmake: Make entire in-progress check stack available internally 96ce3581ab Help: Clarify backtrace order in cmake-configure-log(7) Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8072
| * | try_compile: Record stack of in-progess checks in configure logBrad King2023-01-167-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | Many `try_compile` and `try_run` calls occur inside check modules between `message(CHECK_START)` and `message(CHECK_{PASS,FAIL})` pairs. Add a field to configure log entries to report this context. Issue: #23200
| * | try_compile: Add a NO_LOG option to skip recording in the configure logBrad King2023-01-162-0/+10
| | |
| * | try_compile: Add optional LOG_DESCRIPTION to record in configure logBrad King2023-01-1610-0/+32
| | | | | | | | | | | | Issue: #23200
| * | Tests: Add explicit ConfigureLog case to RunCMake.try_compileBrad King2023-01-165-0/+60
| | |
* | | Merge topic 'ctest-no-tests-action-env-var'Brad King2023-01-179-0/+16
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 0661de58d8 ctest(1): Add CTEST_NO_TESTS_ACTION env var Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8044
| * | ctest(1): Add CTEST_NO_TESTS_ACTION env varfriendlyanon2023-01-139-0/+16
| | | | | | | | | | | | | | | This environment variable provides a default value for the --no-tests=<action> command line argument.
* | | 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.