summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* file(GET_RUNTIME_DEPENDENCIES): Fix weak macOS libraries not detectedBianca van Schaik2021-01-202-2/+35
| | | | | | | | Starting with Clang 12, `otool -l` reports `LC_LOAD_WEAK_DYLIB` instead of `LC_LOAD_DYLIB` for weakly linked libraries. Update the implementation of `file(GET_RUNTIME_DEPENDENCIES)` to recognize these. Fixes: #21684
* cmMakefile: Don't expand bracket arguments in --trace-expandRaul Tambre2021-01-111-0/+1
| | | | | | Bracket arguments are literal and shouldn't be expanded. Fixes #21671.
* Xcode: Use deterministic object ids for script build phasesBrad King2021-01-063-0/+26
| | | | | | | | | | The Xcode "new build system" only considers a script build phase up to date if it has run before, even if outputs are newer than inputs. Use a deterministic object id for script build phases associated with custom commands so that they do not need to re-run after CMake re-generates the project. Fixes: #21669
* FetchContent: Relative SOURCE_DIR override cannot be a hard errorCraig Scott2020-12-223-0/+9
| | | Fixes: #21624
* CMakePackageConfigHelpers: Relax restrictions on version rangeMarc Chevrier2020-12-141-18/+107
|
* Merge topic 'execute_process-command-error' into release-3.19Brad King2020-12-1421-11/+130
|\ | | | | | | | | | | | | e5a4ffaad1 execute_process: Improve COMMAND_ERROR_IS_FATAL error capture scenarios Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5588
| * execute_process: Improve COMMAND_ERROR_IS_FATAL error capture scenariosAsit Dhal2020-12-1021-11/+130
| | | | | | | | | | | | | | | | | | | | | | 1. COMMAND_ERROR_IS_FATAL ANY will capture errors if the exit code is non zero, there is a timeout or an abnormal exit. 2. COMMAND_ERROR_IS_FATAL LAST will capture if only the last process has an exit code non zero, there is a timeout or an abnormal exit. Fixes: #21562
* | Tests: Cover macOS host architecture selection on Apple Silicon hostsBrad King2020-12-1013-0/+104
|/ | | | | | | | | | Add test cases verifying that `CMAKE_APPLE_SILICON_PROCESSOR` set as either a cache or environment variable causes that to be selected as the host architecture. Also verify that sources compile using whatever is selected as the host architecture, even when the explicit setting is not used. Issue: #21554
* export: Do not fail generation for separate namelink only caseDeniz Bahadir2020-12-014-0/+37
| | | | | | | | Update the change from commit 64690f6df0 (export: Do not fail generation for namelink-only case, 2020-10-09, v3.19.0-rc1~7^2) to also handle separate namelink-only and namelink-skip calls. Fixes: #21529
* Check*: Tolerate variables set with names of languagesBrad King2020-11-2518-0/+36
| | | | | | | | | | | | Fix the language checks added by commit 90dead024c (CheckCompilerFlag: unified way to check compiler flags per language, 2020-09-25, v3.19.0-rc1~88^2), commit 10ae907de0 (CheckSoureCompiles: Add a unified way to check if a source compiles, 2020-09-14, v3.19.0-rc1~118^2~1), and commit 357e2ef429 (CheckSoureRuns: Add a unified way to check if a source runs, 2020-09-14, v3.19.0-rc1~118^2) to work when variables of the language names are set. Fixes: #21500
* Tests: Fix RunCMake.Check* conditions for enabling FortranBrad King2020-11-251-3/+6
|
* Tests: Teach RunCMake to ignore Xcode install_name_tool signature warningsBrad King2020-11-241-0/+1
| | | | | | | | | | The `install_name_tool` may warn: install_name_tool: warning: changes being made to the file will invalidate the code signature in: ... Teach RunCMake to drop such incidental lines before matching against expected output.
* Merge topic 'policy-cmp0111-iface' into release-3.19Brad King2020-11-245-12/+34
|\ | | | | | | | | | | | | | | | | 54ef732b0c cmVisualStudio10TargetGenerator: Avoid GetFullPath on INTERFACE library f06f4b517c cmTarget: Do not enforce CMP0111 on imported INTERFACE libraries 43c95df8fb Tests: Match RunCMake.CMP0111 stderr more strictly Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5530
| * cmTarget: Do not enforce CMP0111 on imported INTERFACE librariesBrad King2020-11-233-5/+7
| | | | | | | | | | | | | | | | Fix logic added by commit 359c500a24 (cmTarget: Raise error if imported target location is not set, 2020-08-08, v3.19.0-rc1~273^2) to exclude INTERFACE libraries from the policy. They have no location. Fixes: #21470
| * Tests: Match RunCMake.CMP0111 stderr more strictlyBrad King2020-11-232-7/+27
| |
* | Merge topic 'xcode-cc-work-dir' into release-3.19Brad King2020-11-245-0/+27
|\ \ | |/ |/| | | | | | | | | 36921d2d23 Xcode: Fix custom command work-dir placeholders in "new build system" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5527
| * Xcode: Fix custom command work-dir placeholders in "new build system"Brad King2020-11-235-0/+27
| | | | | | | | | | | | | | | | The placeholders for `CONFIGURATION` and `EFFECTIVE_PLATFORM_NAME` need to be handled in the `WORKING_DIRECTORY` of custom commands just as we already do for the `COMMAND`. Fixes: #21483
* | Makefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile ruleBrad King2020-11-202-0/+6
|/ | | | Fixes: #21471
* CTest: Rename CudaMemcheck to CudaSanitizerTobias Ribizel2020-11-176-3/+3
|
* cmake_path: remove new command from 3.19Marc Chevrier2020-11-033-3/+3
| | | | | | | Defer adding this command until post-3.19 development so that it has more time to mature before being included in a release. Issue: #21385
* CMakePresets.json: Don't warn if no path argument is givenKyle Edwards2020-11-023-0/+15
| | | | | | | | | If --preset is specified with no path argument, use the current directory as the source directory, the preset's binaryDir as the binary directory, and don't issue the standard warning for no path specified. Fixes: #21386
* Merge topic 'CheckSourceRuns-compatibility' into release-3.19Brad King2020-10-302-2/+17
|\ | | | | | | | | | | | | a524bf3aa7 CheckSourceRuns: do not fail on unrecognized arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5426
| * CheckSourceRuns: do not fail on unrecognized argumentsBen Boeckel2020-10-282-2/+17
| | | | | | | | | | | | | | The old `check_X_source_runs` modules did not verify the arguments, so we cannot start doing it now. Downgrade the hard error introduced in commit 357e2ef429 (CheckSoureRuns: Add a unified way to check if a source runs, 2020-09-14) via !5223 into a noisy warning.
* | Merge topic 'cuda_vs_skip_computation' into release-3.19Brad King2020-10-272-0/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | dd77dec18d VS: Don't compute CUDA options unless necessary e9109dec36 Merge branch 'ninja-multi-per-config-sources' into release-3.18 7c0de4175b Merge branch 'cmake-E-cat-binary' into release-3.18 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5422
| * | VS: Don't compute CUDA options unless necessaryRaul Tambre2020-10-272-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the following scenario (with 3.18 policies): 1. A CXX target is created. 2. CUDA language is enabled. CMake 3.18 introduced CMP0104, which requires CUDA_ARCHITECTURES to be set. Because the CXX target was created before CUDA was enabled it wouldn't have it set. The Visual Studio generator would however end up computing CUDA compile options for the CXX target, which would result in a fatal error due to the policy violation. There doesn't seem to be a reason to do this for targets that don't actually use the CUDA language, so we can skip and generate the CXX target just fine. Fixes: #21341
| * | Merge branch 'ninja-multi-per-config-sources' into release-3.18Brad King2020-10-262-0/+12
| |\ \ | | | | | | | | | | | | Merge-request: !5430
* | \ \ Merge topic 'cmake-presets-path-arg' into release-3.19Craig Scott2020-10-276-7/+31
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | b7d7eca66d CMakePresets.json: Rework how --preset argument is handled Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5416
| * | | CMakePresets.json: Rework how --preset argument is handledKyle Edwards2020-10-266-7/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a path argument with no -S or -B leads to a cache directory, use that directory as the binary directory. Otherwise, use the binary directory from the preset. Fixes: #21311
* | | | Merge topic 'check-module-name-conflicts' into release-3.19Brad King2020-10-272-2/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d192918586 Modules: Do not implicitly add new functions via old Check Modules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5424
| * | | | Modules: Do not implicitly add new functions via old Check ModulesRobert Maynard2020-10-262-2/+6
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The conversion of Check<Lang>CompilerFlag, SourceCompiles, and SourceRuns over to the new functions has the possibility of breaking projects that had functions with those existing names. To reduce the possibility of collisions we now have all the legacy code call functions that start with `cmake_`, and users will need to explicitly include the new modules to get the non-prefixed versions Fixes: #21359
* | | | Merge branch 'release' into ninja-multi-per-config-sourcesKyle Edwards2020-10-261471-620/+11145
|\ \ \ \ | |/ / / | | | / | |_|/ |/| |
| * | Merge topic 'cmake-presets-toolset-arch-config' into release-3.19Craig Scott2020-10-2321-23/+71
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 64afabdbcb CMakePresets.json: Split cmakeGeneratorConfig field Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5387
| | * | CMakePresets.json: Split cmakeGeneratorConfig fieldKyle Edwards2020-10-2221-23/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make this field separate for both architecture and toolset. Allow architecture and toolset to be either strings or objects with value and strategy fields. Fixes: #21317
| * | | CMakePresets.json: Add ${sourceDirName} macroKyle Edwards2020-10-223-0/+3
| |/ / | | | | | | | | | Fixes: #21312
| * | Merge topic 'cmake-presets-invalid-macro' into release-3.19Kyle Edwards2020-10-2213-46/+78
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 638557cbfe CMakePresets.json: Properly report macro expansion errors Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5397
| | * | CMakePresets.json: Properly report macro expansion errorsKyle Edwards2020-10-2113-46/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make a distinction between strings which simply use the $vendor{<...>} macro, which is valid but makes it unusable by CMake, and strings which actually contain invalid macro expansions. Fixes: #21308
| * | | CMakePresets.json: Allow boolean for cache variable valueKyle Edwards2020-10-213-0/+28
| |/ / | | | | | | | | | Fixes: #21327
| * | Tests: Add JSON schema validation to CMakePresets.json testsKyle Edwards2020-10-204-1/+61
| | |
| * | Merge topic 'cmake-presets-doc-move' into release-3.19Kyle Edwards2020-10-201-1/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4a123fc28c Help: Clarify purpose of warnings and errors 6c74bcfc20 Help: Make architecture and toolset descriptions generic 45766789a0 Help: Add inheritance to CMakePresets.json example 88c9d6f6eb Help: Add documentation for debug field efab856008 Help: Show environment field 2208db114c Help: Show multiple ways of doing cacheVariables d30f85193f Help: Move vendor field into example b9c8c57860 Help: s/unusedVars/unusedCli/ ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5373
| | * | Help: Show environment fieldKyle Edwards2020-10-191-0/+1
| | | |
| | * | Help: Show multiple ways of doing cacheVariablesKyle Edwards2020-10-191-1/+2
| | | | | | | | | | | | | | | | | | | | This demonstrates both the simple string and the complex object, and ensures that they get automated testing.
| * | | Merge topic 'separate_arguments-no-args' into release-3.19Brad King2020-10-193-0/+15
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | 747f80fe82 separate_arguments: Fix crash on *_COMMAND with no arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5382
| | * | separate_arguments: Fix crash on *_COMMAND with no argumentsRobert Bozzetto2020-10-163-0/+15
| | | | | | | | | | | | | | | | Fixes: #21320
| * | | Merge topic 'doc-CMP0111' into release-3.19Brad King2020-10-191-9/+12
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5c3a91c808 CMP0111: Clarify that the new error is on a missing property setting Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex Reinking <alex_reinking@berkeley.edu> Merge-request: !5385
| | * | | CMP0111: Clarify that the new error is on a missing property settingBrad King2020-10-161-9/+12
| | |/ / | | | | | | | | | | | | The previous wording could be confused with the file missing on disk.
| * | | Merge topic 'file-configure-angle-brackets' into release-3.19Brad King2020-10-166-11/+8
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 06a9a3bdc3 file(CONFIGURE): Allow angle brackets in content Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5379
| | * | | file(CONFIGURE): Allow angle brackets in contentCristian Adam2020-10-156-11/+8
| | | | | | | | | | | | | | | | | | | | Fixes: #21306
| * | | | Merge topic 'CheckSource-Fortran' into release-3.19Brad King2020-10-168-0/+32
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c4c636cef5 Tests: Add cases for CheckSource{Compiles,Runs} bad arguments 1e519df025 CheckSource{Runs,Compiles}: Fix default Fortran source extension Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5378
| | * | | | Tests: Add cases for CheckSource{Compiles,Runs} bad argumentsBrad King2020-10-158-0/+32
| | | |/ / | | |/| |
| * | | | Fix regression in test/install/package configuration selectionBrad King2020-10-153-0/+25
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 7a969fe21d (cmMakefile: Refactor API to better handle empty config values, 2020-06-30, v3.19.0-rc1~567^2), calls to `GetGeneratorConfigs` that pass `OnlyMultiConfig` only want to get any configurations listed if the generator is multi-config. Fix the implementation to actually do that. Fixes: #21316