summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Trace: include `line_end` field in json-v1 formatBraulio Valdivielso Martinez2022-02-0911-20/+64
| | | | | | | | | | | | | | | | | | | | 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).
* Merge topic 'genex-LINK_LIBRARY-to-decorate-library'Brad King2022-02-09167-359/+2456
|\ | | | | | | | | | | | | | | | | | | | | 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-0841-31/+383
| | | | | | | | | | | | 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-07131-151/+1825
| | | | | | | | | | | | | | | | 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
| * cmRulePlaceholderExpander: add base class for placeholder expansion reuseMarc Chevrier2022-02-066-148/+187
| |
| * cmExpandListWithBacktrace: add handling of empty elements.Marc Chevrier2022-02-063-7/+8
| |
| * cmComputeLinkInformation: use cmComputeLinkDepends::LinkEntryMarc Chevrier2022-02-063-57/+88
| | | | | | | | | | | | In preparation of support of genex $<LINK_LIBRARY:...>, propagate cmComputeLinkDepends::LinkEntry instances to ensure to have, when needed, all attributes attached to the link item.
* | Merge topic 'trace-global-frame'Brad King2022-02-098-10/+45
|\ \ | | | | | | | | | | | | | | | | | | | | | 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-078-10/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-098-1/+73
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 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-088-1/+73
| |/ / | | | | | | | | | Resolves: #23179
* | | Merge topic 'ci-intel-compiler'Brad King2022-02-091-0/+42
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3fe20db126 gitlab-ci: add jobs testing Intel 2022.0.2 compilers on Linux 6675fdd5c9 gitlab-ci: add jobs testing Intel 2021.4.0 compilers on Linux ce8d471d94 gitlab-ci: add jobs testing Intel 2021.3.0 compilers on Linux Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6962
| * | | gitlab-ci: add jobs testing Intel 2022.0.2 compilers on LinuxBrad King2022-02-081-0/+14
| | | | | | | | | | | | | | | | | | | | Note that the classic compiler version is 2021.5.0, but we still have it in the 2022.0.2 base image.
| * | | gitlab-ci: add jobs testing Intel 2021.4.0 compilers on LinuxBrad King2022-02-081-0/+14
| | | |
| * | | gitlab-ci: add jobs testing Intel 2021.3.0 compilers on LinuxBrad King2022-02-081-0/+14
| | | |
* | | | Merge topic 'ci-clang-windows'Brad King2022-02-091-0/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6bda940c25 ci: Add nightly CI job for clang++ with NMake Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6961
| * | | | ci: Add nightly CI job for clang++ with NMakeBrad King2022-02-081-0/+15
| |/ / / | | | | | | | | | | | | | | | | | | | | In commit c1f4bd792b (ci: Add LLVM/Clang 13.0 nightly CI jobs on Windows, 2022-02-02) we added three of the four combinations of `clang-cl`/`clang++` with NMake/Ninja. Add the last combination.
* | | | 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.
| * | | | Tests: Drop unnecessary check for FindCVS moduleBrad King2022-02-071-6/+2
| | | | |
| * | | | Tests: Remove always-true condition enabling CTest.Update* testsBrad King2022-02-071-128/+125
| | | | |
| * | | | Tests: Remove unused CVS tool discoveryBrad King2022-02-071-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit b819ee85c0 (BUG: Oops. Left chunk of junk at the bottom of the main Tests CMakeLists.txt file..., 2009-07-24, v2.8.0~385) the `do_cvs_tests` variable is not used in `Tests/CMakeLists.txt`.
* | | | | CMake Nightly Date StampKitware Robot2022-02-091-1/+1
| | | | |
* | | | | Merge branch 'release-3.23'Brad King2022-02-080-0/+0
|\ \ \ \ \
| * | | | | CMake 3.23.0-rc1v3.23.0-rc1Brad King2022-02-081-1/+1
| | | | | |
* | | | | | Merge branch 'release-3.23'Brad King2022-02-080-0/+0
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge branch 'release-3.22' into release-3.23Brad King2022-02-080-0/+0
| |\ \ \ \ \
* | \ \ \ \ \ Merge branch 'release-3.22'Brad King2022-02-080-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge branch 'FindGSL-version-regex' into release-3.22Brad King2022-02-081-1/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !6960
* | \ \ \ \ \ \ Merge branch 'release-3.23'Brad King2022-02-080-0/+0
|\ \ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | | |
| * | | | | | | Merge topic 'FindGSL-version-regex' into release-3.23Brad King2022-02-080-0/+0
| |\ \ \ \ \ \ \ | | | |/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b67ff61c3a FindGSL: Improve version extraction regex Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6960
* | | | | | | | Merge topic 'FindGSL-version-regex'Brad King2022-02-080-0/+0
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b67ff61c3a FindGSL: Improve version extraction regex Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6960
| * | | | | | | FindGSL: Improve version extraction regexمهدي شينون (Mehdi Chinoune)2022-02-081-1/+1
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport commit 58f2708b90 (FindGSL: Improve version extraction regex, 2021-12-17) to the CMake 3.22 branch. Fixes: #23017
* | | | | | | Merge branch 'release-3.23'Brad King2022-02-080-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge topic 'dotnet_sdk' into release-3.23Brad King2022-02-085-34/+154
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5cdd774d51 VS: Handle build target correct for .NET SDK style projects with Any CPU 309191052c VS: Set Visual Studio versions read out from solution file f7791698cb VS: Allow setting output directory in .NET SDK style projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6944
* | \ \ \ \ \ \ Merge topic 'dotnet_sdk'Brad King2022-02-085-34/+154
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5cdd774d51 VS: Handle build target correct for .NET SDK style projects with Any CPU 309191052c VS: Set Visual Studio versions read out from solution file f7791698cb VS: Allow setting output directory in .NET SDK style projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6944
| * | | | | | | VS: Handle build target correct for .NET SDK style projects with Any CPUFlorian Schweiger2022-02-074-32/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Extend Visual Studio solution parser for reading build target * Map solution build target to project build target (especially for Any CPU) * Use C++ <optional> template instead of pointer return value for cmSlnData::GetProjectByGUID
| * | | | | | | VS: Set Visual Studio versions read out from solution fileFlorian Schweiger2022-02-072-2/+24
| | | | | | | |
| * | | | | | | VS: Allow setting output directory in .NET SDK style projectsFlorian Schweiger2022-02-071-0/+11
| | | | | | | |
* | | | | | | | Merge branch 'release-3.23'Brad King2022-02-080-0/+0
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| * | | | | | | Merge topic 'GoogleTest-discover-type-params' into release-3.23Brad King2022-02-086-36/+57
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'GoogleTest-discover-type-params'Brad King2022-02-086-36/+57
|\ \ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | | | GoogleTest: Change format for typed testsEvgeniy Shcherbina2022-02-075-45/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before it would output a typed test as follows: Suit/Type.Case And now it would be: Suit.Case<Type> In case of NO_PRETTY_TYPES it would simply use the type number instead of its text representation: Suit.Case<0> The change is introduced to make sure CTest outputs tests in a similar fashion which is "*Suit.Case*" and angle brackets "<>" emphasize that we are dealing with a typed (template) kind.
| * | | | | | | | GoogleTest: Fix type param tests for suites with many casesEvgeniy Shcherbina2022-02-076-10/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there were many cases (two digits or more) the "prettier" would fail to recognize the pretty part leaving the test name unprocessed. The fix made sure the processing would work correctly, irrespective of the case number. Before the fix, for the following input: TypedSuite/1. # TypeParam = int case TypedSuite/10. # TypeParam = char case The output would be: TypedSuite/int.case TypedSuite/10. # TypeParam = char.case Now the output will be: TypedSuite/int.case TypedSuite/char.case
* | | | | | | | | CMake Nightly Date StampKitware Robot2022-02-081-1/+1
| |_|_|_|_|/ / / |/| | | | | | |
* | | | | | | | Merge topic 'allow_manifest_as_content'Brad King2022-02-074-2/+16
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | feebc8394f Windows: Allow manifest files to be bundled as content Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6939