| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
The 'head' is the dependent target to be linked with the current target.
It will be used to evaluate generator expressions with proper handling
of mapped configurations and is used as the source target of properties.
This requires that memoization is done with a key of a pair of target
and config, instead of just config, because now the result also depends
on the target. Removing the memoization entirely is not an option
because it slows cmake down considerably.
|
|
|
|
|
| |
Contextually, the behavior is as if the properties content from another
target is included in the string and then the result is evaluated.
|
|
|
|
|
|
|
| |
The member variable is checked to determine whether to call
HandleMissingTarget(). As that could be called during the loop in
the comming commits, ensure that it contains all targets being
exported.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Constructs such as these are an error as they are direct self-references:
set_property(TARGET foo APPEND PROPERTY
INCLUDE_DIRECTORIES $<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>)
set_property(TARGET foo APPEND PROPERTY
INCLUDE_DIRECTORIES $<TARGET_PROPERTY:INCLUDE_DIRECTORIES>)
However, this is an indirect self-reference in a cycle, and not an error:
set_property(TARGET foo APPEND PROPERTY
INCLUDE_DIRECTORIES $<TARGET_PROPERTY:bar,INCLUDE_DIRECTORIES>)
set_property(TARGET bar APPEND PROPERTY
INCLUDE_DIRECTORIES $<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>)
|
| |
|
|
|
|
|
| |
The current node being evaluated transitively in the generator
expression must be available to resolve mapped configs.
|
|
|
|
|
| |
The INTERFACE properties need to be preprocessed for context (build
location or install location) and to extract target names etc.
|
|
|
|
|
|
|
| |
The TARGET_NAME expression, which requires a literal, provides
target names. $<TARGET_PROPERTY:tgt,prop> also provides target
names in the cases where tgt is a literal, so that TARGET_NAME is
not needed then in addition.
|
|
|
|
| |
It will be used as a preprocessing marker.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is for specifying INCLUDE_DIRECTORIES relevant to the build-location
or the install location for example:
set_property(TARGET foo PROPERTY
INTERFACE_INCLUDE_DIRECTORIES
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR};${CMAKE_CURRENT_SOURCE_DIR}>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>"
)
A 'bar' target can then use:
set_property(TARGET bar PROPERTY
INCLUDE_DIRECTORIES
"$<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES>"
)
and it will work whether foo is in the same project, or an imported target
from an installation location, or an imported target from a build location
generated by the export() command.
Because the generator expressions are only evaluated at build-time, these
new expressions are equivalent to the ZeroNode and OneNode.
The GeneratorExpression test is split into parts. Some shells can't run
the custom command as it is getting too long.
|
| |
|
|\
| |
| |
| |
| | |
3793dca CPack: WIX Product Icon, UI Banner, UI Dialog support (#13789)
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
0941d62 Add a way to print the origins of used include directories.
18a3195 Keep track of INCLUDE_DIRECTORIES as a vector of structs.
76ea420 Use cmsys::auto_ptr to manage cmCompiledGeneratorExpressions
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
The struct can keep track of where the include came from, which gives
us proper backtraces.
|
| | |
| | |
| | |
| | |
| | | |
The compiled generator expressions need to outlive the creating
type. For the same reason, store the input string in a std::string.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
e378ba5 Add CTestLimitDashJ test (#12904)
3247806 CTest: Prevent creation of unbounded number of tests in ctest (#12904)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Note it is still possible for CTest to start more than the number of
processes specified by PARALLEL_LEVEL, but this prevents the number of
tests to start from being unbounded because of overflow.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
3096202 Make targets depend on the link interface of their dependees.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
7d736af Replace some 'if' with 'else if'
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
For consistency with the rest of the method.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
81c0be4 Merge branch 'upstream-kwsys' into update-kwsys
567e7d9 KWSys 2012-12-21 (8ce09af5)
2c24ca9 Remove references to KWSys Process Win9x support
e33fa5b Merge branch 'upstream-kwsys' into update-kwsys
a0f91f1 KWSys 2012-12-19 (933eb822)
|
| | | | | | | |
|
| | |_|_|/ /
| |/| | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
310455c Fix some warnings from -Wundef
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
Other warnings come from kwsys, so the flag can't be enabled.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |_|_|_|/
|/| | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |_|/ /
|/| | | |
|
| | | | |
|
|/ / / |
|
| | | |
|
|/ / |
|
| | |
|
|\ \
| |/
|/|
| |
| | |
017d90c Documentation: Clarify handling of implicit link directories
|
| |
| |
| |
| |
| |
| |
| |
| | |
Extend documentation for CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES to
explain how it is used by CMake and how it can be influenced by
environment variables.
Inspired-by: Alex Neundorf <neundorf@kde.org>
|
| | |
|
| | |
|
| | |
|