summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'test-RunCMake-xcodebuild-incidental'Brad King2022-02-171-0/+1
|\ | | | | | | | | | | | | 6ade07ef89 Tests: Teach RunCMake to ignore Xcode extension point warnings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6992
| * Tests: Teach RunCMake to ignore Xcode extension point warningsBrad King2022-02-161-0/+1
| | | | | | | | | | | | | | | | | | | | On some Xcode versions, `xcodebuild` may warn: ... xcodebuild[...] Requested but did not find extension point with identifier ... Teach RunCMake to drop such incidental lines before matching against expected output.
* | Merge topic 'cmake-empty-cmd-line-arg'Brad King2022-02-1714-4/+38
|\ \ | | | | | | | | | | | | | | | | | | | | | f73457ca2e cmake: Ignore any empty "" command line arguments 67f97f5478 Tests: Add RunCMake helper to run cmake with raw execute_process args Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6980
| * | cmake: Ignore any empty "" command line argumentsRobert Maynard2022-02-1613-2/+23
| | | | | | | | | | | | | | | | | | | | | Don't treat empty quote arguments("") as the current working directory but instead ignore them. Fixes #23217
| * | Tests: Add RunCMake helper to run cmake with raw execute_process argsBrad King2022-02-161-2/+15
| | |
* | | Merge topic 'test-cuda-sepcomp-ptx'Brad King2022-02-171-1/+1
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | a7ef59c9c4 Tests: Fix CudaOnly.SeparateCompilationPTX test project name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6991
| * | Tests: Fix CudaOnly.SeparateCompilationPTX test project nameBrad King2022-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the test added by commit 61b9764b03 (CUDA: Allow both CUDA_SEPARABLE_COMPILATION and CUDA_PTX_COMPILATION, 2021-09-17, v3.23.0-rc1~516^2) to have a `project()` name matching what is passed to CTest's `--build-project` option. Otherwise, on VS builds, MSBuild warns: MSBUILD : error MSB1009: Project file does not exist. Other CUDA tests use a matching project name already.
* | | Merge topic 'tll-genex-concat'Brad King2022-02-161-0/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c1e812ad4f target_link_libraries: Improve tolerance of unquoted generator expressions 5571a31648 target_link_libraries: Handle keyword arguments in dedicated code path 42590df9f9 target_link_libraries: Remove likely-broken ancient compatibility check Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6989
| * | | target_link_libraries: Improve tolerance of unquoted generator expressionsBrad King2022-02-151-0/+10
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to commit 1d709ea2f5 (cmGeneratorTarget: Propagate backtraces from INTERFACE_LINK_LIBRARIES, 2021-12-15, v3.23.0-rc1~228^2), the value of `INTERFACE_LINK_LIBRARIES` was a single string. If an unquoted generator expression passed to `target_link_libraries` contained `;` and became multiple arguments, they would all accumulate as a single `;`-separated list in the value of `INTERFACE_LINK_LIBRARIES`. Since that commit, each argument to `target_link_libraries` is placed in `INTERFACE_LINK_LIBRARIES` as a separate entry, as has long been the case for `LINK_LIBRARIES`. That behavior change broke projects that were accidentally relying on accumulation in `INTERFACE_LINK_LIBRARIES` to produce complete generator expressions containing `;`. Teach `target_link_libraries` to accumulate consecutive non-keyword arguments into a single entry before placing them in `LINK_LIBRARIES` or `INTERFACE_LINK_LIBRARIES`. For example, treat `a b c` as if they were written as `"a;b;c"`. This restores the previously accidental support for unquoted generator expressions in `INTERFACE_LINK_LIBRARIES`, and also enables it for `LINK_LIBRARIES`. For now, do not drop the `target_link_libraries` documentation that recommends quoting generator expressions. Quoting is still important to populate `LINK_LIBRARIES` in CMake 3.22 and below, and is also good practice to keep generator expressions whole. Fixes: #23203
| * | Merge topic 'GoogleTest-discovery-fix-escaping' into release-3.23Brad King2022-02-147-0/+130
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 61929f936f GoogleTest: Fix escaping in test names Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6965
* | \ \ Merge topic 'file-download-range'Brad King2022-02-161-0/+48
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 231872ddb0 file(DOWNLOAD): Add options to download a range Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6986
| * | | | file(DOWNLOAD): Add options to download a rangem.klimenko2022-02-151-0/+48
| | | | |
* | | | | Merge topic 'LINK_LIBRARY-framework'Brad King2022-02-166-0/+110
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | a2cfa2da4f GenEx/LINK_LIBRARY: Add features for framework support on Apple 40178f3c90 cmGlobalGenerator: Add helper to split framework path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6967
| * | | | GenEx/LINK_LIBRARY: Add features for framework support on AppleMarc Chevrier2022-02-156-0/+110
| | | | |
* | | | | Merge topic 'GoogleTest-discovery-fix-escaping'Brad King2022-02-147-0/+130
|\ \ \ \ \ | |/ / / / |/| | / / | | |/ / | |/| | | | | | | | | | 61929f936f GoogleTest: Fix escaping in test names Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6965
| * | | GoogleTest: Fix escaping in test namesEvgeniy Shcherbina2022-02-117-0/+130
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to add_command() being a macro it introduced excessive and nonobvious escaping in different parts of the script. Because of one of such places the resulting script would have an erroneous ${TEST_LIST} if the user data (in test parameters) had a semicolon. To eliminate this non-obvious escaping, add_command() was converted to function. Updated the escaping accordingly. Fixes: #23059
* | | Merge topic 'debug-find'Brad King2022-02-1110-45/+313
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 38de1bef2d find_package: Improve --debug-find-pkg= when using a find module d634d20397 find_package: Avoid printing debug output header multiple times df3e29450a find_package: Mention package name in Config mode debug output 636ca7f25c find_package: Fix find module name in --debug-find output 596e185409 find_package: Improve formatting of --debug-find output 2f43527574 Tests: Improve order of RunCMake.find_package cases a690523fcf cmFindPackageCommand: Drop ComputeIfDebugModeWanted overload Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6973
| * | find_package: Improve --debug-find-pkg= when using a find moduleBrad King2022-02-105-0/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the feature added by commit d7b18895bc (cmake: Add filtered debug-find options, 2021-12-07, v3.23.0-rc1~217^2) to enable debug output for `find_*` calls within a find module or cmake package configuration file. Fixes: #23211
| * | find_package: Avoid printing debug output header multiple timesBrad King2022-02-102-8/+0
| | |
| * | find_package: Mention package name in Config mode debug outputBrad King2022-02-103-3/+6
| | | | | | | | | | | | | | | Otherwise, if there are no paths considered then the output does not specify the name of the package.
| * | find_package: Fix find module name in --debug-find outputBrad King2022-02-102-2/+2
| | |
| * | find_package: Improve formatting of --debug-find outputBrad King2022-02-104-41/+176
| | | | | | | | | | | | Also spell out more complete content in the test's expect output.
| * | Tests: Improve order of RunCMake.find_package casesBrad King2022-02-101-3/+2
| | | | | | | | | | | | Sort recently added cases among similar-named cases.
| * | Merge topic 'doc-if-AND-OR' into release-3.23Brad King2022-02-103-0/+9
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 41adfc6b04 Help: Clarify precedence of AND and OR in 'if' conditions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6970
| * \ \ Merge topic 'clang-cross-compile-windows-pdb' into release-3.23Brad King2022-02-101-1/+2
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 641cb1093b Windows/Clang: Support PDB when cross-compiling Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !6959
| * \ \ \ Merge topic 'restore-target-export-includes' into release-3.23Brad King2022-02-105-0/+47
| |\ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 83d79636bf install(TARGETS): Restore per-export INCLUDES DESTINATION Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6969
* | | | | Merge topic 'trace-line-range'Brad King2022-02-112-11/+32
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8e1e97ccca Trace: include `line_end` field in json-v1 format Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6968
| * | | | | Trace: include `line_end` field in json-v1 formatBraulio Valdivielso Martinez2022-02-092-11/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After !6954 got merged, it has become easier for tools to get full stack-traces for runtime traces of a CMake program. The trace information already included in the JSON objects (line number, source file path) allows tools that display these stack traces to print the CMake source code associated to them. However, CMake commands may spawn multiple lines, and the JSON information associated to a trace only contains the line in which the command started, but not the one in which it ended. If tools want to print stack traces along the relevant source code, and they want to print the whole command associated to the stack frame, they will have to implement their own CMake language parser to know where the command ends. In order to simplify the life of those who want to write tooling for CMake, this commit adds a `line_end` field to the json-v1 trace format. If a given command spans multiple lines, the `line_end` field will contain the line of the last line spanned by the command (that of the closing parenthesis associated to the command).
* | | | | | Tests: Improve RunCMake.ExternalProject rebuild case robustnessBrad King2022-02-101-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `CONFIGURE_HANDLED_BY_BUILD` case occasionally fails on builds with the `Borland Makefiles` generator due to the `make` tool's 1s file timestamp resolution. Somehow the 1.125s delay is not enough. Several other tests use a 3s delay for Borland tools for the same reason.
* | | | | | Merge topic 'doc-if-AND-OR'Brad King2022-02-103-0/+9
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 41adfc6b04 Help: Clarify precedence of AND and OR in 'if' conditions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6970
| * | | | | Help: Clarify precedence of AND and OR in 'if' conditionsBrad King2022-02-093-0/+9
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wording update in commit b74819e4fe (Help: Format 'if' command documentation, 2013-12-18, v3.0.0-rc1~227^2~1) incorrectly implied that `AND` has higher precedence than `OR`. Although this is common in many languages, it has never been true in CMake's implementation. Revise the wording to clarify the precedence. Add a test case demonstrating the order. Fixes: #23207
* | | | | Merge topic 'clang-cross-compile-windows-pdb'Brad King2022-02-101-1/+2
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 641cb1093b Windows/Clang: Support PDB when cross-compiling Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !6959
| * | | | Windows/Clang: Support PDB when cross-compilingDeniz Bahadir2022-02-081-1/+2
| |/ / /
| * | | Merge topic 'GoogleTest-discover-type-params' into release-3.23Brad King2022-02-085-33/+47
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 073dd1bd81 GoogleTest: Change format for typed tests f28f738bd2 GoogleTest: Fix type param tests for suites with many cases Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6958
| * \ \ \ Merge topic 'ep-patch-USES_TERMINAL' into release-3.23Brad King2022-02-042-9/+13
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cbb87e0a2c ExternalProject: Add support for USES_TERMINAL_PATCH keyword Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6940
* | \ \ \ \ Merge topic 'restore-target-export-includes'Brad King2022-02-105-0/+47
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | / | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | 83d79636bf install(TARGETS): Restore per-export INCLUDES DESTINATION Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6969
| * | | | install(TARGETS): Restore per-export INCLUDES DESTINATIONEugene Shalygin2022-02-095-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 55e4753bbb (Refactor cmTargetExport removing InterfaceIncludeDirecories, 2021-07-20, v3.22.0-rc1~337^2~1) the storage of `INCLUDES DESTINATION` was moved into each target. However, a target may be installed in multiple exports, and their `INCLUDES DESTINATION` should not be mixed. Convert the IncludeDirectoriesEntries vector to a map and modify access function to store the directories lists with respect to cmExportTarget object. This fixes error when the same target is exported more than once via different exports and each for consequent export its include directories list grows. Add a test for this case. Fixes: #23183
* | | | | Merge topic 'genex-LINK_LIBRARY-to-decorate-library'Brad King2022-02-09127-0/+935
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2a6b0415d7 $<LINK_LIBRARY>: Add LINK_LIBRARY_OVERRIDE target property 42965799b4 Genex: Add $<LINK_LIBRARY:...> 78dd7d5292 cmRulePlaceholderExpander: add base class for placeholder expansion reuse 4b55828a9f cmExpandListWithBacktrace: add handling of empty elements. 28d7432468 cmComputeLinkInformation: use cmComputeLinkDepends::LinkEntry Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6769
| * | | | | $<LINK_LIBRARY>: Add LINK_LIBRARY_OVERRIDE target propertyMarc Chevrier2022-02-0828-6/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To enable the management of incompatible $<LINK_LIBRARY> declarations, add LINK_LIBRARY_OVERRIDE and LINK_LIBRARY_OVERRIDE_<LIBRARY> target properties.
| * | | | | Genex: Add $<LINK_LIBRARY:...>Marc Chevrier2022-02-07106-0/+789
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This generator expression offers the capability, for the link step, to decorate libraries with prefix/suffix flags and/or adding any specific flag for each library. Fixes: #22812, #18751, #20078, #22703
* | | | | | Merge topic 'trace-global-frame'Brad King2022-02-094-6/+24
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a41d6e4d7a Trace: add global_frame field to json-v1 format Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6954
| * | | | | | Trace: add global_frame field to json-v1 formatBraulio Valdivielso Martinez2022-02-074-6/+24
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tools using the json-v1 format might want to trace stack frames across different `CMakeLists.txt` files, in order to, for example, provide stacktraces that span from the top-level `CMakeLists.txt` in a project. One would think that `frame` lets you do that, but it doesn't, because it tells you the depth of the stack within the current `CMakeLists.txt`, so it gets reset across calls to `add_subdirectory`. The solution involves adding a field with a "global frame". This value gets incremented on calls to `add_subdirectory`, which makes it easier for tools to reconstruct "global stacktraces". I considered changing the current "frame" value, but I didn't because it would be a breaking change. I cannot think of any use-case where "frame" is more useful to "global-frame", but maybe I'm missing something.
* | | | | | Merge topic 'vs_buildcache_support'Brad King2022-02-093-0/+41
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b764c7c273 VS: Add property to turn off Visual Studio compile batching Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6957
| * | | | | | VS: Add property to turn off Visual Studio compile batchingKaloyan Donev2022-02-083-0/+41
| |/ / / / / | | | | | | | | | | | | | | | | | | Resolves: #23179
* | | | | | Merge topic 'test-vcs'Brad King2022-02-092-211/+169
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7b23fd6c1b Tests: Run CTest.UpdateBZR tests only if explicitly enabled 7cf5355d5e Tests: Add cache entries to control ExternalProject test VCS tools c8b29dc5b9 Tests: Add cache entries to control existence of CTest.Update* tests a70864e300 Tests: Make condition for CTest.UpdateCVS match pattern of other tools 1972a75536 Tests: Drop CTestUpdate.BZR test check for xmloutput plugin f2566f6416 Tests: Drop unnecessary check for FindCVS module 530242576c Tests: Remove always-true condition enabling CTest.Update* tests 4e88a4228e Tests: Remove unused CVS tool discovery Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6956
| * | | | | | Tests: Run CTest.UpdateBZR tests only if explicitly enabledBrad King2022-02-081-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests have not been automatically enabled on current versions of `bzr` in a long time. The recent change to drop the `xmlplugins` heuristic caused the tests to start running on some machines, but they do not work everywhere. Disable the tests again pending further investigation.
| * | | | | | Tests: Add cache entries to control ExternalProject test VCS toolsBrad King2022-02-072-84/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add undocumented `CMake_TEST_ExternalProject_*` cache entries to explicitly enable or disable these tests. If not set, compute defaults as before. Also consolidate the VCS default heuristics.
| * | | | | | Tests: Add cache entries to control existence of CTest.Update* testsBrad King2022-02-071-52/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add undocumented `CMake_TEST_CTestUpdate_*` cache entries to explicitly enable or disable these tests. If not set, compute defaults as before.
| * | | | | | Tests: Make condition for CTest.UpdateCVS match pattern of other toolsBrad King2022-02-071-6/+5
| | | | | | |
| * | | | | | Tests: Drop CTestUpdate.BZR test check for xmloutput pluginBrad King2022-02-071-20/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Current `bzr` tools do not have any `bzr xmlplugins` command.