summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLib
Commit message (Collapse)AuthorAgeFilesLines
* testDebuggerNamedPipe: fix for cppdap with nlohmann_jsonĐoàn Trần Công Danh2023-08-161-7/+7
| | | | | Fixes: #25190 Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
* cmList: Fix performance regression in append/prependMarc Chevrier2023-08-041-4/+4
| | | | Fixes: #25147
* Debugger: Always clear existing breakpoints on setBreakpointsBen McMorran2023-07-131-0/+13
| | | | Fixes: #25063
* Debugger: Correctly handle clients without supportsVariableTypeBen McMorran2023-07-123-4/+38
| | | | Fixes: #25057
* Debugger: Fix threads request segfault after thread exited eventBen McMorran2023-06-291-1/+29
| | | | Fixes: #25041
* cmUVProcessChain: Add Status::GetException() methodKyle Edwards2023-06-052-14/+65
|
* cmUVProcessChain: Add Finished() methodKyle Edwards2023-05-311-0/+12
|
* cmake: Add debuggerGlen Chung2023-05-3012-0/+1733
| | | | | | | | | | | | | | | | - Depends on cppdap and jsoncpp. - Add --debugger argument to enable the Debugger. - Add --debugger-pipe argument for DAP traffics over named pipes. - Support breakpoints by filenames and line numbers. - Support exception breakpoints. - Call stack shows filenames and line numbers. - Show Cache Variables. - Show the state of currently defined targets, tests and directories with their properties. - Add cmakeVersion to DAP initialize response. - Include unit tests. Co-authored-by: Ben McMorran <bemcmorr@microsoft.com>
* cmUVProcessChain: Add option for merged output and errorKyle Edwards2023-05-261-0/+60
|
* cmUVProcessChain: Add working directory optionKyle Edwards2023-05-263-0/+70
|
* iwyu: ignore `std::remove_reference` requirementsBen Boeckel2023-05-161-2/+1
| | | | This removes some includes from some existing files.
* Link step: use linker dependency linker fileMarc Chevrier2023-05-032-19/+19
| | | | | | Based on work done by @ben.boeckel (!8051) Fixes: #22217
* CMake code rely on cmList class for CMake lists management (part. 2)Marc Chevrier2023-04-291-1/+0
|
* cmList class: various enhancementsMarc Chevrier2023-04-291-34/+35
|
* cmList: CMake list implementationMarc Chevrier2023-04-052-0/+996
| | | | Fixes: #24548
* Merge topic 'presets-json-errors'Brad King2023-03-303-167/+167
|\ | | | | | | | | | | | | | | | | 19305afd8a presets: Improve JSON parser and error messages Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8290
| * presets: Improve JSON parser and error messagesMartin Duffy2023-03-293-167/+167
| |
* | Utilities/Sphinx: Add 'cref' roleMatthew Woehlke2023-03-142-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a role that can be used to create local links (a la '`LINK`_'), but that also applies literal style. This is particularly useful for referring to subcommands within the command's documentation in a style that is consistent with ':command:`BAR <foo(BAR)>`' but is much less verbose. Although this is intended for subcommands, it works with any local reference. Co-authored-by: Brad King <brad.king@kitware.com>
* | cmRST: Fix cmake domain directives with newline before argumentBrad King2023-03-092-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The `signature` directive added by commit 74e3c1d313 (Utilities/Sphinx: Add a directive to document command signatures, 2023-02-24) will be commonly used with the form: .. signature:: some_command(SOME_SIGNATURE) Docs for this signature. Drop the assumption that all CMake domain directives are immediately followed by their argument on the same line.
* | Utilities/Sphinx: Add a directive to document command signaturesMatthew Woehlke2023-03-032-0/+16
|/ | | | | | | Add a `signature` directive to offer a CMake version of Sphinx's `function` directive, similar to that found in other domains (py, cpp, etc.). Like others, this takes one or more signatures as arguments and creates dt/dd nodes from the signatures and the directive contents.
* Remove component size limit for version comparisonsDavid Gobbi2023-02-201-2/+20
| | | | | | | | | The VersionCompare() function converted version components to 'unsigned long' prior to comparing them. Any version components too large for 'unsigned long' were treated as equal to ULONG_MAX. This impacted operators like VERSION_GREATER, VERSION_LESS, and VERSION_EQUAL. The new code does not limit the length of the version components for valid comparisons.
* Tests: Add cases for cmSystemTools::VersionCompareDavid Gobbi2023-02-201-0/+29
|
* Tests: Remove references to dropped KWSys SharedForward componentBrad King2023-02-072-17/+0
|
* Revise C++ coding style using clang-format-15Kitware Robot2023-01-1821-27/+27
| | | | | | | | | | | | | | 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
* cmStrCat(): allow any argument to be an rvalue stringKyle Edwards2022-12-061-4/+14
| | | | | This will allow us to re-use any rvalue allocation that is available, not just from the first argument.
* cmStrCat(): optimize when first argument is an rvalue stringKyle Edwards2022-11-301-0/+14
|
* Merge topic 'modernize-build-self'Brad King2022-09-232-7/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9629be8080 Build: Use `CMAKE_CURRENT_XXX_DIR` instead of top dirs e6fb5a1feb Build: Sort linked libraries list of `CMakeLib` aa7290e8dc Build: Use imported target `Threads::Threads` instead of variable df8ad72ffa Build: Use imported target `kwiml::kwiml` instead of variables eeebf31e54 Build: Use imported target `LibRHash::LibRHash` instead of variables 08be01a181 Build: Use imported target `LibUV::LibUV` instead of variables ddac6dcbe8 Build: Use imported target `JsonCpp::JsonCpp` instead of variables ac76c53d33 Build: Use imported target `CURL::libcurl` instead of variables ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7570
| * Build: Simplify `configure_file()` callsAlex Turbov2022-09-222-5/+3
| |
| * Build: Modernize some `foreach` calls to use `IN LISTS`/`IN ITEMS`Alex Turbov2022-09-221-2/+2
| |
* | Merge topic 'parse-large-int'Brad King2022-09-211-0/+35
|\ \ | |/ |/| | | | | | | | | | | | | 8fc822e13a file: Avoid strange istringstream crash in cmake.org binaries on Alpine Linux 31f158e4c8 cmStringAlgorithms: Add functions to parse strings to long long integers Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7698
| * cmStringAlgorithms: Add functions to parse strings to long long integersBrad King2022-09-201-0/+35
| |
* | cm::enum_set: fix various bugsMarc Chevrier2022-08-221-0/+9
| |
* | cmArgumentParser: Ignore positional after keywordMatthew Woehlke2022-08-171-6/+15
| | | | | | | | | | | | | | | | | | Tweak cmArgumentParser to ignore positional arguments once a keyword argument has been seen. This prevents mingling of keyword arguments being able to effectively skip positional arguments, with later arguments being picked up again; this seems highly likely to lead to user confusion. This is also consistent with how other languages (e.g. Python) handle a mix of "named" and positional arguments.
* | cmArgumentParser: Model non-empty strings with wrapper typeBrad King2022-07-281-0/+16
| | | | | | | | | | | | Some clients have been explicitly checking whether the string specified after a keyword is empty. Offer them a way to specify that the string must be non-empty as part of the binding type.
* | cmArgumentParser: Offer bindings for positional argumentsBrad King2022-07-271-0/+7
| |
* | cmArgumentParser: Add callback bindingsBrad King2022-07-271-3/+110
| |
* | cmArgumentParser: Propagate constructors through binding wrapper typesBrad King2022-07-271-0/+14
| |
* | cmArgumentParser: Offer binding for list of parsed keywordsBrad King2022-07-251-0/+23
| | | | | | | | | | Some clients ask for this list in their `Parse()` call. Offer them a way to express this request as a binding.
* | cmArgumentParser: Drop unused keywordsMissingValue argument to Parse()Brad King2022-07-251-17/+7
| | | | | | | | | | All clients have been converted to encoding this requirement in their bindings.
* | cmArgumentParser: Capture keyword errors in parse resultsBrad King2022-07-221-2/+16
| | | | | | | | | | | | | | | | | | Since commit f46b2e9142 (cmArgumentParser: Model maybe-missing string with wrapper type, 2022-07-06) we know during parsing whether or not it is an error for a keyword to be missing a value. Record such errors in the parse results structure. Offer clients a helper method to report them. This provides clients with an alternative to manually checking `keywordsMissingValue` and generating their own error message.
* | cmArgumentParser: Add structure to capture operational resultsBrad King2022-07-221-39/+57
| | | | | | | | | | | | | | Create a way for the parser to record errors or incidental information about the argument parsing operation that clients can inspect afterward. Offer clients a way to hold the structure as part of their arguments structure.
* | cmArgumentParser: Model maybe-missing string with wrapper typeBrad King2022-07-071-0/+5
| | | | | | | | | | | | Bindings to `std::string` require one value. Some clients have been filtering `keywordsMissingValue` to support keywords that tolerate a missing value. Offer them a type-safe way to achieve this instead.
* | cmArgumentParser: Model maybe-empty and non-empty lists with wrapper typesBrad King2022-07-071-5/+12
| | | | | | | | | | | | | | | | Previously bindings to `std::vector<std::string>` required at least one value. Some clients have been filtering `keywordsMissingValue` to support keywords followed by empty lists. Instead, require clients to specify whether a keyword's list can be empty as part of the binding type.
* | cmArgumentParser: Offer cm::optional bindings to capture keyword presenceBrad King2022-07-051-11/+38
| | | | | | | | | | | | Several clients have been using `keywordsMissingValue` or `parsedKeywords` to check for the presence of keywords. Offer them a type-encoded way to explicitly check whether a keyword is present.
* | cmArgumentParser: Avoid allocating copies of keyword stringsBrad King2022-07-051-4/+5
| |
* | clang-tidy: address `google-readability-casting` lintsBen Boeckel2022-05-241-1/+1
| | | | | | | | At least those involving `static_cast`.
* | cmJSONHelpers: Restructure cmJSONHelpersMartin Duffy2022-05-051-23/+24
| | | | | | | | Restructure cmJSONHelpers to prevent SunPro errors when passing context.
* | cm::enum_set: container that contains a set of unique enum values.Marc Chevrier2022-04-272-0/+205
|/ | | | The enum must be an `enum class` with an unsigned integer as base type.
* Merge topic 'builtin-help-versionadded'Brad King2021-10-282-0/+12
|\ | | | | | | | | | | | | | | 054754359a cmRST: support `versionadded` and `versionchanged` directives Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6667
| * cmRST: support `versionadded` and `versionchanged` directivesBen Boeckel2021-10-272-0/+12
| | | | | | | | | | | | | | | | This makes `versionadded` and `versionchanged` directives show up in `cmake --help-*` output instead of disappearing (and potentially making empty sections). Fixes: #22808