summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmCTestBuildHandler.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Revert use of libuv for process execution for 3.28Brad King2024-01-241-157/+134
| | | | | | | | | | | | | | Wide use of CMake 3.28.{1,0[-rcN]} has uncovered some hangs and crashes in libuv SIGCHLD handling on some platforms, particularly in virtualization environments on macOS hosts. Although the bug does not seem to be in CMake, we can restore stability in the CMake 3.28 release series for users of such platforms by reverting our new uses of libuv for process execution. Revert implementation changes merged by commit 4771544386 (Merge topic 'replace-cmsysprocess-with-cmuvprocesschain', 2023-09-06, v3.28.0-rc1~138), but keep test suite updates. Issue: #25414, #25500, #25562, #25589
* cmCTestLaunchReporter: Replace cmsysProcess with cmUVProcessChainKyle Edwards2023-08-291-134/+157
| | | | And convert cmCTestLaunch and cmCTestBuildHandler too.
* IWYU: Update for Debian 12 CI jobBrad King2023-07-281-0/+1
| | | | | | `include-what-you-use` diagnostics, in practice, are specific to the environment's compiler and standard library. Update includes to satisfy IWYU for our CI job under Debian 12.
* CMake code rely on cmList class for CMake lists management (part. 2)Marc Chevrier2023-04-291-0/+1
|
* Revise C++ coding style using clang-format-15Kitware Robot2023-01-181-8/+8
| | | | | | | | | | | | | | 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
* ctest: only report make-level errors when no others are foundZack Galbreath2022-09-261-10/+25
| | | | | | | | | | | | | In commit ab9ad2a6a0 (ctest: report make-level errors to CDash when using launchers, 2020-09-24, v3.19.0-rc1~84^2~1) we taught CTest to capture and report errors from the build command when using launchers. This had the unintended side effect of reporting a separate build error containing the full build output when the build command returns non-zero. To fix this problem, we now only report build command errors from CTest launchers when no other more specific build errors are found. Fixes: #23991
* LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-151-0/+5
| | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.
* Rename cmProp in cmValueMarc Chevrier2021-09-211-3/+3
|
* Source: Minor code improvementsVitaly Stakhovsky2021-05-111-3/+2
|
* cmCTestBuildHandler: Avoid uninitialized line-numbersAdriaan de Groot2020-10-051-0/+2
| | | | | | | When commands fail, there is no line number to report; still initialize it explicitly to avoid compiler warnings. Issue: #21166
* ctest: report make-level errors to CDash when using launchersZack Galbreath2020-09-281-9/+23
| | | | Fixes: #19545
* cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-021-4/+6
|
* nits: replace some "c" instances with 'c'Ben Boeckel2020-04-131-2/+2
|
* use std::string::rfind() instead of open coding itRolf Eike Beer2020-03-231-12/+8
| | | | While at it avoid creating a new string.
* Refactoring: use append functions from cmext/algorithmMarc Chevrier2019-12-171-2/+3
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-8/+9
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-2/+2
|
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-041-1/+1
| | | | | | | | Automate the conversion with perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g' then manually fix a few places.
* Merge topic 'warnings_skip_color'Brad King2019-08-261-9/+18
|\ | | | | | | | | | | | | 2079267959 ctest_build: ignore ANSI color Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3702
| * ctest_build: ignore ANSI colorZack Galbreath2019-08-221-9/+18
| | | | | | | | Ignore ANSI color when scraping logs for errors and warnings
* | Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-19/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is generated by a python script that uses regular expressions to search for string concatenation patterns of the kind ``` std::string str = <ARG0>; str += <ARG1>; str += <ARG2>; ... ``` and replaces them with a single `cmStrCat` call ``` std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...); ``` If any `<ARGX>` is itself a concatenated string of the kind ``` a + b + c + ...; ``` then `<ARGX>` is split into multiple arguments for the `cmStrCat` call. If there's a sequence of literals in the `<ARGX>`, then all literals in the sequence are concatenated and merged into a single literal argument for the `cmStrCat` call. Single character strings are converted to single char arguments for the `cmStrCat` call. `std::to_string(...)` wrappings are removed from `cmStrCat` arguments, because it supports numeric types as well as string types. `arg.substr(x)` arguments to `cmStrCat` are replaced with `cm::string_view(arg).substr(x)`
* | Source sweep: Use cmIsOn instead of cmSystemTools::IsOnSebastian Holtermann2019-08-171-1/+1
|/ | | | | | | | | This replaces invocations of - `cmSystemTools::IsInternallyOn` with `cmIsInternallyOn` - `cmSystemTools::IsNOTFOUND` with `cmIsNOTFOUND` - `cmSystemTools::IsOn` with `cmIsOn` - `cmSystemTools::IsOff` with `cmIsOff`
* Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgumentSebastian Holtermann2019-08-141-4/+2
|
* clang-tidy: Enable performance-inefficient-string-concatenationSebastian Holtermann2019-08-051-6/+0
| | | | | | | Enables the clang-tidy test performance-inefficient-string-concatenation and replaces all inefficient string concatenations with `cmStrCat`. Closes: #19555
* cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.hSebastian Holtermann2019-07-291-0/+1
| | | | | This adds the `cmStringAlgorithms.h` header and moves all string functions from `cmAlgorithms.h` to `cmStringAlgorithms.h`.
* Use cmAppend to append ranges to std::vector instancesSebastian Holtermann2019-05-231-2/+1
|
* Modernize: Enable modernize-raw-string-literal in clang-tidyArtur Ryt2019-04-021-18/+18
|
* Modernize: Prefer .substr in place of .c_str() + intArtur Ryt2019-03-301-2/+2
| | | | | | A lot of temporary/local strings were created out of C-strings substr can utilize current string size, so in theory be a little more efficient.
* Rename cmFileTimeCache::FileTimeCompare to cmFileTimeCache::CompareSebastian Holtermann2019-03-181-1/+1
|
* Rename cmFileTimeComparison to cmFileTimeCacheSebastian Holtermann2019-03-181-4/+4
| | | | | The name `cmFileTimeCache` reflects the functionality of the class more appropriately.
* cmSystemTools: More functions accept `std::string` paramsVitaly Stakhovsky2019-02-201-5/+6
|
* Delete some default constructors and assignment operatorsAlbert Astals Cid2019-02-151-0/+2
| | | | | | They are unused, but if someone used them they would lead to problems since they would copy the internal raw pointers and the destructor would cause double delete
* Prefer front/back/data over dereferencing begin/rbegin iterArtur Ryt2019-02-061-2/+2
| | | | Changed for sequenced containers: vector, list, string and array
* Merge topic 'tidy-use-equals-default'Brad King2019-01-291-1/+1
|\ | | | | | | | | | | | | | | | | 094f01d0f0 cleanup: Prefer compiler provided special member functions 55671b41d2 clang-tidy: Use `= default` Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !2841
| * clang-tidy: Use `= default`Regina Pfeifer2019-01-251-1/+1
| | | | | | | | | | | | Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and `Source/cmUVHandlePtr.h` where a few older compilers require a user-defined default constructor (with `{}`).
* | cmFileTimeComparison: use std::string argumentsVitaly Stakhovsky2019-01-281-2/+1
|/
* clang-tidy: Use emplaceRegina Pfeifer2019-01-171-6/+6
|
* Fix most clang -Wextra-semi-stmt warnings in C++ filesSean McBride2019-01-151-7/+11
| | | | Suppress one in code generated by flex.
* clang-tidy: Use default member initializationRegina Pfeifer2018-12-151-5/+2
|
* Remove unnecessary c_str() callsVitaly Stakhovsky2018-09-051-1/+1
| | | | Use the new IsOn(),IsOff() overloads.
* CTest: Add error exception for sphinx-build WARNING messagesTim2018-08-301-0/+1
| | | | | | | | | | | | Sphinx-build warnings look like this: ../path/to/file.rst:105: WARNING: This is not an error. CTest detects these as errors by this regex: ([^ :]+):([0-9]+): ([^ \\t]) Add an exception as we already have for lower-case `: warning`.
* Merge topic 'cleanup-find-cstr'Brad King2018-08-091-1/+1
|\ | | | | | | | | | | | | 69ca85cc7f Remove unnecessary c_str() in RegularExpression::find calls Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2271
| * Remove unnecessary c_str() in RegularExpression::find callsVitaly Stakhovsky2018-08-071-1/+1
| |
* | cmGeneratedFileStream: clang-tidy applied to remove redundant ``c_str`` callsSebastian Holtermann2018-08-071-2/+2
|/ | | | | | | | | | | | | | | After changing the ``cmGeneratedFileStream`` methods to accept ``std::string const&`` instead of ``const char*`` we don't need to call ``std::string::c_str`` anymore when passing a ``std::string`` to a ``cmGeneratedFileStream`` method. This patch removes all redundant ``std::string::c_str`` calls when passing a string to a ``cmGeneratedFileStream`` method. It was generated by building CMake with clang-tidy enabled using the following options: -DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-4.0;-checks=-*,readability-redundant-string-cstr;-fix;-fix-errors
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-26/+35
| | | | | | | | | | | | 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 6.0. * 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.
* Reduce raw string pointers usage.Pavel Solodovnikov2018-01-311-1/+1
| | | | | | | | | | * Change some functions to take `std::string` instead of `const char*` in the following classes: `cmMakeFile`, `cmake`, `cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator` and a few others. * Greatly reduce using of `const char*` overloads for `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`. * Remove many redundant `c_str()` conversions throughout the code.
* Merge topic 'reduce-temporaries'Brad King2018-01-291-4/+5
|\ | | | | | | | | | | | | c85bb007 Reduce allocation of temporary values on heap. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1698
| * Reduce allocation of temporary values on heap.Pavel Solodovnikov2018-01-261-4/+5
| | | | | | | | | | - Use `std::move` while inserting temporary results into vectors. - Change `push_back` to `emplace_back` where appropriate.
* | CTest: introduce cmDurationWouter Klouwen2018-01-231-2/+3
|/ | | | | | | | This commit introduces cmDuration as a typedef for std::chrono::duration<double, std::ratio<1>>. It is less verbose and provides for a point to put future common functionality for durations. No functional change intended.
* CTest: convert timeouts to std::chrono::durationWouter Klouwen2017-12-041-1/+1
| | | | | | | | | This commit continues the refactoring of CTest to adopt std::chrono. After the last sets of changes that introduced std::chrono::steady_clock and std::chrono::system_clock respectively, it makes sense to have all the timeouts be stored as std::chrono::duration. No functional change intended.