| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| | |
10507c6dc0 cmMakefile: Add configurations getter with empty configuration default
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3759
|
| | |
|
|/
|
|
| |
Rename mutating GetFullPath() overload to ResolveFullPath().
|
|\
| |
| |
| |
| |
| |
| | |
17ce0c29ad cmGlobalGenerator: Fix CheckCompilerIdCompatibility local var lifetime
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3741
|
| |
| |
| |
| |
| |
| | |
Save the value of the compiler id variable in storage we own so that
mutating it based on a policy does not invalidate the local value for
later comparisons. This was identified by Clang AddressSanitizer.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This replaces the code pattern
```
std::vector<std::string> args;
cmExpandList(valueStr, args, ...)
```
with
```
std::vector<std::string> args = cmExpandedList(valueStr, ...)
```
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)`
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
2dfc52675c cmAlgorithms: Add cmContains
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sebastian Holtermann <sebholt@web.de>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Merge-request: !3700
|
| | |
| | |
| | |
| | | |
Also, use the new function where applicable.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
da26b3be89 avoid adding multiple consecutive string literals to std::string
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3698
|
| |/ /
| | |
| | |
| | | |
While at it change some single character additions to be of type char.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
This replaces invocations of
- `cmSystemTools::IsInternallyOn` with `cmIsInternallyOn`
- `cmSystemTools::IsNOTFOUND` with `cmIsNOTFOUND`
- `cmSystemTools::IsOn` with `cmIsOn`
- `cmSystemTools::IsOff` with `cmIsOff`
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
27090096ef cmStringAlgorithms: Add cmRemoveQuotes
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3665
|
| | |
| | |
| | |
| | |
| | | |
- Add `cmRemoveQuotes` function to cmStringAlgorithms
- Remove unused removeQuotes inline functions
|
|/ / |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
601fe84bd1 Swift: Restore support for enabling with INTERFACE libraries
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Wanderley GuimarĂ£es da Silva <wanderley.guimaraes@gmail.com>
Acked-by: Guillaume Egles <gegles@gmail.com>
Merge-request: !3624
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The check added in commit b06f4c8a74 (Swift: disallow WIN32_EXECUTABLE
properties, 2019-05-31, v3.15.0-rc1~9^2) makes sense only for
executables because the `WIN32_EXECUTABLE` property is defined only for
them. Running the check on other target types, particularly those that
do not link such as INTERFACE libraries, violates internal assumptions.
In particular, `GetLinkerLanguage` should not be called on such targets.
Fixes: #19528
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
This simplifies the `cmMakefile::AddDefinition` method with bool value
overload to call the string based `cmMakefile::AddDefinition` method
with either an "ON" or "OFF" string.
Also the method is renamed to `cmMakefile::AddDefinitionBool`
|
|\ \
| |/
| |
| |
| |
| |
| | |
b66d61a8d0 cmGlobalGenerator: Do not persist alias targets across configures
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3529
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In `ccmake` a single global generator instance may be used for multiple
configure step runs. The `cmGlobalGenerator::ClearGeneratorMembers`
method is supposed to clear global state that is specific to each
configure run but forgot to clear alias targets.
Fixes: #19457
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the compiler does not synthesize the correct entry point for
the application and passing the subsystem flag does not work the same
way with the Swift linker language. Add a check to prevent the
application of `WIN32_EXECUTABLE` to Swift executables until they can be
properly supported. This will prevent the need for a future policy
change.
Closes: #19325
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Deprecation removals previously specific to MSVC/Intel now also used
by clang
* String literals were assigned to non const pointers. These are stored
in mutable arrays now
* An implicit function pointer to pointer conversion is a Microsoft
extension warning is suppressed by an explicit reinterpret_cast
* The MSVC specific deprecation macro for jsoncpp was moved after the
clang macro to avoid redefinition warnings. This is consistent with
how jsoncpp fixed the issue in 36d8cfd7
|
| |
|
|
|
|
|
|
| |
This is preparation for an upcoming merge request, which will add
a new cmInstallGenerator that returns false if there are errors in
the Compute() step.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes the following code snippets in `cmGlobalGenerator`
```
AType aRange = object.getRange();
for ( auto & item: aRange) {
```
to
```
for ( auto & item: object.getRange()) {
```
|
| |
|
|
|
|
|
| |
When adding cmTargets to a cmMakefile, use std::unordered_map::emplace instead
of std::unordered_map::insert.
|
|
|
|
| |
Fixes: #16136
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
d9d285c5ad jsoncpp: Fix include order for build within CMake
0d489fab19 libuv: fix atomic ops compilation with xlclang
1699f5c231 Utilities: Suppress warnings in third-party code when using XLClang
f709089d84 XLClang: Extract compiler implicit include directories
5c41386357 XLClang: Add policy CMP0089 to present as XL for compatibility
8278237933 XL: Remove overlap with the new XLClang compiler ID
6f5cf2d2c6 XL: Revert "Recognize compilers identified by __ibmxl__"
90c6156aa8 XLClang: Add a new compiler ID for the clang-based XL compiler
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2921
|
| |
| |
| |
| |
| |
| |
| |
| | |
We now identify IBM's Clang-based XL compilers, which define
`__ibmxl__`, as `XLClang` rather than `XL`. In order to support
existing project code that checks for `XL`, add a policy whose OLD
behavior is to present the compiler id as `XL` and whose NEW behavior is
to present the compiler id as `XLClang` as we really detect it.
|
|\ \
| |/
|/|
| |
| |
| |
| | |
3f685ac3e1 Use shorter names in internal TARGET_PROPERTY expressions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3009
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The change in commit 2f708f5d65 (Make internal TARGET_PROPERTY generator
expressions more robust, 2018-09-07, v3.13.0-rc1~94^2~4) introduced
globally unique names in synthesized `$<TARGET_PROPERTY:...>` generator.
We used the pattern `<target-name>::T<pointer-to-generator-target>` to
guarantee uniqueness. However, in projects that require many such
expressions to be generated there was a measurable increase in runtime.
We had included the target name in the synthesized genex only for human
reference during debugging. It is not necessary. Switch to the pattern
`:<pointer-to-generator-target>` to shorten the name. Also hand-roll a
hex-print loop instead of using sprintf. Together these optimizations
get at least some of the time back.
Issue: #18964
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
214fcefa52 Remove now-unused code once used for MIPSpro on IRIX
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3004
|
| |/
| |
| |
| |
| |
| | |
In commit beb991110d (Remove now-unused code once used on IRIX,
2019-01-11, v3.14.0-rc1~167^2) we removed remnants of IRIX support.
Also remove remnants of MIPSpro compiler support.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
b8031308f3 cmRange: Add unit tests
a8d51ef8b7 cmRange: Add functions filter and transform
da4773e8b8 cmRange: Add functions all_of, any_of, none_of
17a367e77f cmRange: Stylistic cleanup
9eb0e73f46 cmRange: Move to dedicated header file
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Artur Ryt <artur.ryt@gmail.com>
Merge-request: !2972
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
9dd255548d cmSystemTools::Error: consolidate parameters into single std::string
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2995
|
| |/ |
|
|/ |
|
|
|
|
|
| |
It replaces C arrays with deduced std::initializer_lists
or std::array what makes enables for-loop over them.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
01b2d6ab74 Modernize: Use ranged for-loops when possible
15bdbec017 cmAlgorithms: Make cmRange advance/retreat safe for rvalues
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Merge-request: !2901
|
| |
| |
| |
| |
| |
| |
| | |
Replaced most manual `const_iterator`-based loops and some
reverse-iterator loops with range loops.
Fixes: #18858
|