summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Update expected results for Xcode 16Brad King2024-06-132-2/+3
| | | | | | | | | | In `Tests/RunCMake/LinkerSelection`, Xcode 16 warns when building the AppleClassic case: ld: warning: -ld_classic is deprecated and will be removed in a future release Tolerate all build warnings.
* FetchContent: Force cmake --fresh to re-execute direct population stepsCraig Scott2024-06-071-0/+8
| | | | Issue: #25468
* Tests: RunCMake.FetchContent should not always force _deps removalCraig Scott2024-06-071-3/+0
| | | | | | | | | | | To properly test some functionality, tests may rely on not clearing things like time stamps between cmake invocations. The RunCMake infrastructure clears the build directory by default anyway, and tests may individually ask for that to be disabled where needed. The line being removed here was originally added to assist with manually re-running individual tests locally outside the control of RunCMake. That is no longer appropriate.
* Tests: Fix -direct variants of FetchContent tests using wrong filesCraig Scott2024-06-072-8/+6
| | | | | | | | | | The -direct variants of the RunCMake.FetchContent tests were meant to be using the same result, stdout and stderr files as the non-direct tests. The -direct tests were specified in the wrong way for that and ended up using no files at all, so they weren't testing the full set of expected conditions. Use the test variant feature provided by the RunCMake infrastructure instead, which is the proper way to handle this sort of scenario.
* Merge topic 'cpack-nuget-dependency-groups'Brad King2024-06-048-0/+109
|\ | | | | | | | | | | | | 0f4d3664a9 CPack/NuGet: Build dependencies in groups Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9544
| * CPack/NuGet: Build dependencies in groupsAlex Opie2024-06-038-0/+109
| | | | | | | | | | | | | | This allows particular frameworks to be targeted by particular dependencies, and for empty dependency groups to satisfy NuGet's framework-matching requirements.
* | Merge topic 'cmake-C-crash'Brad King2024-06-036-0/+57
|\ \ | | | | | | | | | | | | | | | | | | 7330121467 Fix crash in target-specific commands called from initial cache script Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9571
| * | Fix crash in target-specific commands called from initial cache scriptBrad King2024-06-016-0/+57
| | | | | | | | | | | | Fixes: #26018
* | | Merge topic 'file-accept-empty-lists'Brad King2024-06-034-11/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7c516f7e28 file(): TOUCH, TOUCH_NOCREATE and MAKE_DIRECTORY accept empty lists Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9570
| * | | file(): TOUCH, TOUCH_NOCREATE and MAKE_DIRECTORY accept empty listsCraig Scott2024-05-314-11/+2
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | Projects may be generating a list of files or directories to pass as arguments to file(TOUCH), file(TOUCH_NOCREATE), or file(MAKE_DIRECTORY). Those lists might end up being empty, so rather than requiring at least one item, allow an empty list. Fixes: #24897
* | | Merge topic 'ep-disable-source-changes'Brad King2024-06-034-0/+37
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 0cc1b550dd ExternalProject,FetchContent: Avoid CMAKE_DISABLE_SOURCE_CHANGES error Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9569
| * | ExternalProject,FetchContent: Avoid CMAKE_DISABLE_SOURCE_CHANGES errorCraig Scott2024-05-314-0/+37
| |/ | | | | | | | | | | | | | | | | | | | | | | The file(MAKE_DIRECTORY) implementation checks whether a path is allowed to be written to before it checks if it already exists. For the scenario where a SOURCE_DIR is an existing directory within the main project's source directory, this triggers a fatal error if CMAKE_DISABLE_SOURCE_CHANGES is set to true for ExternalProject, and some FetchContent scenarios. Therefore, add an explicit check for existence first to avoid making such error-triggering calls. Fixes: #21872
* | Merge topic 'dep-provider-try_compile'Brad King2024-05-317-1/+124
|\ \ | |/ |/| | | | | | | | | | | 4cb5bb014d try_compile: Propagating top level includes into whole-project calls Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !9532
| * try_compile: Propagating top level includes into whole-project callsCraig Scott2024-05-307-1/+124
| | | | | | | | Fixes: #24151
* | Merge topic 'enforce-fc-fully-disconnected-requirements'Brad King2024-05-3013-0/+83
|\ \ | | | | | | | | | | | | | | | | | | | | | f588421b58 FetchContent: Enforce FETCHCONTENT_FULLY_DISCONNECTED requirements Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9556
| * | FetchContent: Enforce FETCHCONTENT_FULLY_DISCONNECTED requirementsCraig Scott2024-05-2913-0/+83
| | | | | | | | | | | | | | | | | | | | | FETCHCONTENT_FULLY_DISCONNECTED should only be set to true if each dependency's source directory has already been populated. Previously, this wasn't being checked, but now it is (subject to a new policy).
* | | Merge topic 'deprecate-fetchcontent_populate'Brad King2024-05-2928-0/+90
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | 4370fcf750 FetchContent: Deprecate FetchContent_Populate(depName) bc70b458ad Help: Minor grammar improvements for FetchContent Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9552
| * | FetchContent: Deprecate FetchContent_Populate(depName)Craig Scott2024-05-2928-0/+90
| | | | | | | | | | | | | | | Projects should use FetchContent_MakeAvailable(depName) instead. Policy CMP0169 provides backward compatibility.
* | | Merge topic 'swift-multi-config'Brad King2024-05-297-114/+130
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5bb7f8a4dd Swift: Use per-config module file locations in multi-config generators b2e042d77a cmGeneratorTarget: Adopt Swift-related methods from the Ninja generator 45b3387c50 Tests/RunCMake/Swift: Enable more cases with Ninja Multi-Config Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9501
| * | | Swift: Use per-config module file locations in multi-config generatorsDave Abrahams2024-05-241-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Place `.swiftmodule` files a subdirectory named after the configuration. Fixes: #25864 Fixes: #25997 - Swift/RunCMakeTest.cmake: - CMP0157-OLD was enabled for Xcode, where it works. - A test was added that verifies .swiftmodule's are generated into separate directories with multi-config generators. - Tests/SwiftOnly/CMakeLists.txt: tests were added that validate that cross-subdirectory module dependencies (via target_link_libraries) work.
| * | | Tests/RunCMake/Swift: Enable more cases with Ninja Multi-ConfigDave Abrahams2024-05-247-114/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also factor out testing that's common across Xcode and Ninja.* generators. - Ninja expected output files were extended to accept directories named after the configuration in paths. - Tests that previously ran with Ninja were allowed to run with Ninja Multi-Config. - Swift/RunCMakeTest.cmake: - Checks for conditions where little or no testing could be done were moved to the top of the file, with return()s to limit nesting of the remainder of the code ("Early bailouts"). - CMP0157 tests, which were being performed for all generators, were factored out into a block at the top of the file. - RunCMake_TEST_OPTIONS is set initially for all multi-config generators and list(APPEND)'ed-to in each block() where it was previously set() and unset().
* | | | Merge topic 'execute_process-child-startup-info'Brad King2024-05-284-0/+34
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | fa8c04b421 Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members d98df689ab Merge branch 'libuv-win-process-no-extra-stdio' a590382850 libuv: win/spawn: disable extra-file-descriptor support not needed by CMake Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9541
| * | | Tests/RunCMake/execute_process: Check STARTUPINFOW reserved membersBrad King2024-05-244-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Verify that `execute_process` launches processes on Windows such that `GetStartupInfoW` in the child does not populate `STARTUPINFOW` members reserved for the MSVC C run-time. Issue: #25996
| * | | Merge topic 'cmp0037-message' into release-3.29Brad King2024-05-159-0/+40
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c773d5b436 CMP0037: Restore diagnostic message for invalid ALIAS target names Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !9519
* | | | | FetchContent: Make FetchContent_Populate() honor CMP0168Craig Scott2024-05-251-0/+16
| | | | |
* | | | | Merge topic 'doc-test-RunCMake'Brad King2024-05-241-30/+201
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0dbf2c24bf Tests/RunCMake: Document how to write multi-step test cases 61a08b0856 Tests/RunCMake: Document commands/variables available to RunCMakeTest scripts aebf6b8b29 Tests/RunCMake: Clarify documentation of platform-specific output matching c2f8a6729f Tests/RunCMake: Rename "sub-test" terminology to "case" 0add7a802f Tests/RunCMake: Organize README as multiple sections aff4dc47c4 Tests/RunCMake: Cross-reference README from main Tests/README Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9548
| * | | | | Tests/RunCMake: Document how to write multi-step test casesBrad King2024-05-231-0/+26
| | | | | |
| * | | | | Tests/RunCMake: Document commands/variables available to RunCMakeTest scriptsBrad King2024-05-231-8/+132
| | | | | |
| * | | | | Tests/RunCMake: Clarify documentation of platform-specific output matchingBrad King2024-05-231-5/+2
| | | | | |
| * | | | | Tests/RunCMake: Rename "sub-test" terminology to "case"Brad King2024-05-231-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | We've long used the latter term in commit messages and comments.
| * | | | | Tests/RunCMake: Organize README as multiple sectionsBrad King2024-05-231-1/+13
| | | | | |
| * | | | | Tests/RunCMake: Cross-reference README from main Tests/READMEBrad King2024-05-231-2/+14
| | |_|/ / | |/| | |
* | | | | Merge topic 'genex-compiler-frontend-variant'Brad King2024-05-2410-0/+45
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | af81b8667e GenEx: Add generator expr. for CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT 8a11a39c51 Help: Use correct programming language names in docs of generator expr. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9538
| * | | | | GenEx: Add generator expr. for CMAKE_<LANG>_COMPILER_FRONTEND_VARIANTDeniz Bahadir2024-05-2210-0/+45
| |/ / / /
* | | | | Merge topic 'ninja-parallel'Brad King2024-05-2413-0/+77
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0e5250e63c Ninja: Add option for parallel install daeb8fffa2 Help: Add Builtin Targets section to Ninja help Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9505
| * | | | Ninja: Add option for parallel installMartin Duffy2024-05-2313-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the global property ``INSTALL_PARALLEL`` to enable a parallel install target for Ninja. Fixes: #25459
* | | | | Merge topic 'test-race-aix'Brad King2024-05-211-0/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9ced5932cf Tests/RunCMake/CompileFeatures: Avoid intermittent failures on AIX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9537
| * | | | | Tests/RunCMake/CompileFeatures: Avoid intermittent failures on AIXBrad King2024-05-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the fix from commit b3245f33ef (Tests/RunCMake/install: Avoid intermittent failures on AIX, 2024-05-10) to `RunCMake.CompileFeatures` too.
* | | | | | Tests/RunCMake/Swift: Update for ninja post-1.12 developmentBrad King2024-05-201-1/+0
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream ninja commit `8e6c741a4b` ("explain" debug prints just before each command is run, 2022-01-06) changed the `ninja -d explain` output for our test case. The `IncrementalSwift-second` case primarily needs to match stdout, so update our stderr expectation to work for either form of ninja's output.
* | | | | Merge topic 'fetchcontent-direct'Craig Scott2024-05-1819-54/+105
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7bf15e49a8 ExternalProject: Fix misleading git update output b2496bf14c FetchContent: Populate directly without a sub-build 173daad58d ExternalProject: Move more internal commands out of main file 462e583267 ExternalProject: Switch download, update and patch to use _EP_ vars 0ccc8e340d ExternalProject: Provide ExternalProject_Add keywords through a macro 91e1015722 ExternalProject: Don't treat YES as a keyword a1743ce1ef ExternalProject: Fix minor formatting error Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !9513
| * | | | FetchContent: Populate directly without a sub-buildCraig Scott2024-05-1712-43/+94
| | | | | | | | | | | | | | | | | | | | Fixes: #21703
| * | | | ExternalProject: Move more internal commands out of main fileCraig Scott2024-05-137-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commands moved to shared_internal_commands.cmake will soon be used directly by FetchContent, which cannot always include the full ExternalProject.cmake file (e.g. it may be used in CMake script mode). Issue: #21703
* | | | | Merge topic 'ewilde/swift-static-try-compile'Brad King2024-05-172-0/+15
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c6e52ef7f2 Swift: Support static-library try-compile type Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9520
| * | | | | Swift: Support static-library try-compile typeEvan Wilde2024-05-152-0/+15
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Top-level code only works as part of executables, which breaks when `CMAKE_TRY_COMPILE_TARGET_TYPE` is set to `STATIC_LIBRARY`. This patch fixes the test to something agnostic between executables and libraries while still verifying that we can import types from the standard library. Fixes: #25984
* | | | | Merge topic 'LINK_LIBRARY-Feature-properties'Brad King2024-05-1624-3/+127
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6e5e7968c3 GenEx $<LINK_LIBRARY>: Add the support of properties attached to features Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9510
| * | | | | GenEx $<LINK_LIBRARY>: Add the support of properties attached to featuresMarc Chevrier2024-05-1524-3/+127
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #24504, #25954
* | | | | | Merge topic 'custom-command-output-hash-character'Brad King2024-05-166-27/+9
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8d2a503c1e add_custom_command: Allow OUTPUT filenames containing a hash '#' character b38000d774 cmGlobalXCodeGenerator: Re-implement legacy makefile path escaping d929089687 cmGlobalXCodeGenerator: Do not use legacy makefile escaping in shell commands d61fc2c52e cmGlobalXCodeGenerator: Migrate legacy makefile path escaping to local helper 6010e007c7 cmState: Add method to check for the Borland Makefiles generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9514
| * | | | | | add_custom_command: Allow OUTPUT filenames containing a hash '#' characterGlenn Coombs2024-05-156-27/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most generators now support this character after escaping and quoting cleanups over time. Disallow it only on generators that do support it. Fixes: #25604
* | | | | | | Merge topic 'import-std-experimental-docs'Brad King2024-05-162-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a46395df06 importstd: clarify when the experimental UUID must be available Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9522
| * | | | | | | importstd: clarify when the experimental UUID must be availableBen Boeckel2024-05-152-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #25980