- 20 Nov, 2019 1 commit
-
-
Brad King authored
Fixes: #19998
-
- 11 Nov, 2019 2 commits
-
-
Cristian Adam authored
Fixes: #19936
-
Cristian Adam authored
Fixes: #19946 Fixes: #19947 Co-authored-by:
Craig Scott <craig.scott@crascit.com>
-
- 05 Nov, 2019 2 commits
-
-
Brad King authored
- 09 Oct, 2019 1 commit
-
-
Cristian Adam authored
-
- 03 Oct, 2019 1 commit
-
-
Brad King authored
The unity build sources need to be added for all generators. Create them during `cmGlobalGenerator::Compute` to avoid duplicating the calls in every generator. We already handle Qt autogen there too. Issue: #19789
-
- 01 Oct, 2019 1 commit
-
-
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.
-
- 30 Sep, 2019 1 commit
-
-
Brad King authored
The "all" target in each directory is supposed to have targets from that directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in its parent. This was broken by commit dc688857 (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the participation of a target in "all" independent of context. Revert much of the logic change from that commit to restore the old behavior. Then re-implement the behavior intended by the commit to keep its test working. Extend the test to cover the old behavior too. Fixes: #19753
-
- 26 Sep, 2019 2 commits
-
-
-
The enumerations will also be used in cmLocalGenerator.
-
- 23 Sep, 2019 1 commit
-
-
Daniel Eiband authored
cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is needed or an instance of cmCompiledGeneratorExpression cannot be cached. Fixes: #19686
-
- 20 Sep, 2019 1 commit
-
-
Provide a standardized way to handle the C++ "standard" headers customized to be used with current CMake C++ standard constraints. Offer under directory `cm` headers which can be used as direct replacements of the standard ones. For example: #include <cm/string_view> can be used safely for CMake development in place of the `<string_view>` standard header. Fixes: #19491
-
- 16 Sep, 2019 2 commits
-
-
Daniel Eiband authored
Reduce boilerplate necessary to create custom command lines by introducing and applying cmMakeCommandLine and cmMakeSingleCommandLine functions.
-
-
- 10 Sep, 2019 1 commit
-
-
wahikihiki authored
Set the MinTypeNameLength option to an impossibly high value in order to limit the diagnostics to iterators. Leave new expressions and cast expressions for later.
-
- 09 Sep, 2019 2 commits
- 04 Sep, 2019 1 commit
-
-
wahikihiki authored
Automate the conversion with perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g' then manually fix a few places.
-
- 30 Aug, 2019 1 commit
-
-
Cristian Adam authored
-
- 28 Aug, 2019 1 commit
-
-
Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
-
- 23 Aug, 2019 1 commit
-
-
Sebastian Holtermann authored
This replaces the code pattern ``` std::vector<std::string> args; cmExpandList(valueStr, args, ...) ``` with ``` std::vector<std::string> args = cmExpandedList(valueStr, ...) ```
-
- 22 Aug, 2019 1 commit
-
-
Sebastian Holtermann authored
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)`
-
- 19 Aug, 2019 1 commit
-
-
wahikihiki authored
Also, use the new function where applicable.
-
- 18 Aug, 2019 1 commit
-
-
Rolf Eike Beer authored
While at it change some single character additions to be of type char.
-
- 17 Aug, 2019 1 commit
-
-
Sebastian Holtermann authored
This replaces invocations of - `cmSystemTools::IsInternallyOn` with `cmIsInternallyOn` - `cmSystemTools::IsNOTFOUND` with `cmIsNOTFOUND` - `cmSystemTools::IsOn` with `cmIsOn` - `cmSystemTools::IsOff` with `cmIsOff`
-
- 14 Aug, 2019 1 commit
-
-
Sebastian Holtermann authored
-
- 09 Aug, 2019 1 commit
-
-
- 05 Aug, 2019 2 commits
-
-
Sebastian Holtermann authored
Enables the clang-tidy test performance-inefficient-string-concatenation and replaces all inefficient string concatenations with `cmStrCat`. Closes: #19555
-
Sebastian Holtermann authored
This adds the following functions to `cmStringAlgorithms`: - `cmIsSpace` - `cmTrimWhitespace` (moved from `cmSystemTools::TrimWhitespace`) - `cmEscapeQuotes` (moved from `cmSystemTools::EscapeQuotes`) - `cmTokenize` (moved from `cmSystemTools::tokenize` and adapted to accept `cm::string_view`)
-
- 24 Jul, 2019 1 commit
-
-
Sebastian Holtermann authored
This changes `cmMakefile::AddDefinition` to take a `cm::string_view` as value argument instead of a `const char *`. Benefits are: - `std::string` can be passed to `cmMakefile::AddDefinition` directly without the `c_str()` plus string length recomputation fallback. - Lengths of literals passed to `cmMakefile::AddDefinition` can be computed at compile time. In various sources uses of `cmMakefile::AddDefinition` are adapted to avoid `std::string::c_str` calls and the `std::string` is passed directly. Uses of `cmMakefile::AddDefinition`, where a `nullptr` `const char*` might be passed to `cmMakefile::AddDefinition` are extended with `nullptr` checks.
-
- 14 Jul, 2019 1 commit
-
-
Marc Chevrier authored
-
- 10 Jul, 2019 1 commit
-
-
Brad King authored
An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
-
- 23 May, 2019 1 commit
-
-
Sebastian Holtermann authored
-
- 15 May, 2019 1 commit
-
-
- 14 May, 2019 1 commit
-
-
Rosen Matev authored
Provide a way for custom commands and targets to set the pool variable of the ninja build statement. Setting `JOB_POOL` is not compatible with `USES_TERMINAL`, which implies the `console` pool. The option is silently ignored with other generators. Closes: #18483
-
- 13 May, 2019 1 commit
-
-
Sebastian Holtermann authored
Changes ------- In `cmSystemTools` this - renames the method `ExpandList` to `ExpandLists` and makes it iterator based and adds the methods - `std::vector<std::string> ExpandedLists(InputIt first, InputIt last)` - `std::vector<std::string> ExpandedListArgument(const std::string& arg, bool emptyArgs)` Both return the `std::vector<std::string>` instead of taking a return vector reference like `cmSystemTools::ExpandLists` and `cmSystemTools::ExpandListArgument`. Motivation ---------- Since C++17 return value optimization is mandatory, so returning a `std:vector<std::string>` from a function should be (at least) as fast as passing a return vector reference to the function. The new methods can replace `cmSystemTools::ExpandLists` and `cmSystemTools::ExpandListArgument` in many cases, which leads to shorter and simpler syntax. E.g. the commonly used pattern ``` if (const char* value = X->GetProperty("A_KEY_STRING")) { std::vector<std::string> valuesList; cmSystemTools::ExpandListArgument(value, valuesList); for (std::string const& i : valuesList) { doSomething(i); } } ``` becomes ``` if (const char* value = X->GetProperty("A_KEY_STRING")) { for (std::string const& i : cmSystemTools::ExpandedListArgument(value)) { doSomething(i); } } ```
-
- 11 Apr, 2019 2 commits
-
-
Brad King authored
For `MACOSX_BUNDLE` targets we generate an `Info.plist` automatically and add it to the sources presented to Xcode. Avoid mutating the original target's list of sources to achieve this. Otherwise when we generate the same target again (e.g. in a sub-project's Xcode file) it will look different than the first time and possibly break invariants. Fixes: #19114
-
Brad King authored
-
- 02 Apr, 2019 1 commit
-
-
Brad King authored
The IPO flag logic was added to `AddLanguageFlags` based on my advice. However, this method should really only be about `CMAKE_<LANG>_FLAGS*` variables. Move the IPO logic out to its call sites.
-