| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| | |
6e5ccabe9b Genex: Update $<TARGET_FILE_BASE_NAME:...>: take care of POSTFIX
1f4c9aa7d2 Refactor: introduce method cmGeneratorTarget::GetFilePostfix
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3267
|
| |
| |
| |
| |
| | |
This capability complement MR !3190 and !3207
and is also needed to solve issue #18771.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3d856eba16 cmGeneratorExpressionNode: refactor TargetPropertyNode
9e1df5df54 cmGeneratorExpressionNode: use ctor arguments instead of macro
36f36d6a49 cmGeneratorExpressionNode: add VersionNode
3f57787dff cmGeneratorExpressionNode: remove structs CompilerId*, CompilerVersion*
20d7c5631e cmGeneratorExpressionNode: add CharacterNode
abd62201bd cmGeneratorExpressionNode: simplify code in EqualNode
f2c8ff8259 cmGeneratorExpressionNode: Simplify static string constant
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3234
|
| |
| |
| |
| |
| | |
Re-order logic to improve readability and de-duplicate conditions.
Factor out error message generation into a helper.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Use our `""_s` user-defined literal to avoid initializing a static
std::string.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
ce078dda79 Relax the usage of TARGET_OBJECTS generator expression
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3178
|
| | |
| | |
| | |
| | |
| | | |
The geneator expression can now be used with static, shared, and
module libraries and executables.
|
| |/
|/| |
|
| |
| |
| |
| |
| | |
These capabilities complement MR !3190
and is also needed to solve issue #18771.
|
| | |
|
| |
| |
| |
| | |
This new capability is required to solve efficiently issue #18771
|
| |
| |
| |
| |
| | |
Creates base class TargetArtifactBase which enable to share code with
future new functionalities.
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
b53766b205 CUDA: Support compiler id and version generator expressions
b544e34af6 All VersionNode use the same capitalization pattern
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3085
|
| |
| |
| |
| |
| | |
Introduce the CUDA_COMPILER_ID and CUDA_COMPILER_VERSION generator
expressions.
|
| | |
|
|/
|
|
|
|
|
| |
Extend the genex added by commit ca6ba3fee5 (Genex: Add a SHELL_PATH
expression, 2015-09-24, v3.4.0-rc1~37^2) to accept a `;`-list of paths,
convert them all, and generate a list separated by the native shell
`PATH``` separator.
|
|
|
|
|
| |
By initializing the node map in the class constructor of the static instance
we avoid an if-empty check.
|
|\
| |
| |
| |
| |
| |
| |
| | |
e429e9af42 genex: Fix erroneous handling of recursion for $<GENEX_EVAL:>
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: yrHeTaTeJlb <jjj.bo@yandex.ru>
Merge-request: !2954
|
| |
| |
| |
| | |
Fixes: #18894
|
| |
| |
| |
| |
| |
| |
| | |
Replaced most manual `const_iterator`-based loops and some
reverse-iterator loops with range loops.
Fixes: #18858
|
|/
|
|
| |
Changed for sequenced containers: vector, list, string and array
|
|
|
|
|
|
| |
clang-tidy 7 has an option to suppress this warning in macros which
defaults to '1'. Set the option to '0' and silence the warning
explicitly.
|
|
|
|
|
|
| |
Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and
`Source/cmUVHandlePtr.h` where a few older compilers require a
user-defined default constructor (with `{}`).
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds `Fortran_COMPILER_ID` and `Fortran_COMPILER_VERSION` generator
expression support to match equivalent `C_COMPILER_ID`,
`CXX_COMPILER_ID`, `C_COMPILER_VERSION`, and `CXX_COMPILER_VERSION`
support.
This is very helpful in the case where the C/C++ compiler suite is a
different type of compiler from the platform Fortran compiler and
projects use generator expressions to assign compiler flags and
definitions. (e.g. `GNU` C/C++ and `SunPro` Fortran on Linux)
|
|
|
|
| |
Reduce the number of files relying on `cmake.h`.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The old behavior of $<IN_LIST:...> is inconsistent with that of
if(IN_LIST), in that it does not find an empty search item even if
the list contains empty items. This change adds a new policy to
correctly handle empty items and make the behavior more consistent
with if(IN_LIST).
Fixes: #18556
|
|
|
|
| |
Fixes: #16532
|
|\
| |
| |
| |
| |
| |
| | |
f4ff60a803 cmMakefile: Make GetSafeDefinition return std::string const&
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2350
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
While collecting usage requirements from the `INTERFACE_*` properties of
directly linked targets, we internally generate `TARGET_PROPERTY:` and
`TARGET_OBJECTS:` generator expressions to refer to those properties on
those targets. At the point we generate these expressions we already
have a pointer to an exact `cmGeneratorTarget` instance.
Switch from using the target name in these generator expressions to
using an internal unique name generated for each `cmGeneratorTarget`
instance to be referenced. This avoids depending on the user-facing
target name to find the same target we already have.
|
|
|
|
|
|
|
|
|
|
| |
If two imported targets in different directories have the same name we
should still be able to propagate transitive usage requirements from
both. Fix the DAG checker to work with target pointers instead of
target names since the pointers will not be duplicated even if the names
are.
Fixes: #18345
|
|
|
|
| |
Use the new IsOn(),IsOff() overloads.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Evaluate to false on `$<COMPILE_LANGUAGE:Lang>` if language `Lang`
is not loaded. This is helpful in exported targets consumed in other
projects that may not enable all the same languages.
Fixes: #17952
|
|
|
|
| |
Fixes: #17884
|
| |
|
|
|
|
|
| |
Define `$<TARGET_NAME_IF_EXISTS:tgt>` to mean `tgt` if the target
exists and otherwise an empty string.
|
|
|
|
|
| |
Define `$<TARGET_EXISTS:a>` to `1` if `a` is an existed target name,
else `0`.
|
|
|
|
| |
Implements #17679
|
|\
| |
| |
| |
| |
| |
| | |
653b8946 Reduce raw string pointers usage.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1729
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
|/ |
|