- 09 Nov, 2013 1 commit
-
-
Stephen Kelly authored
By removing the INTERFACE_ prefix, we can use this in more contexts.
-
- 16 Jul, 2013 1 commit
-
-
Unlike other target properties, this does not have a corresponding non-INTERFACE variant. This allows propagation of system attribute on include directories from link dependents.
-
- 07 Jul, 2013 1 commit
-
-
Stephen Kelly authored
This is an internal expression for use by target_link_libraries for static libraries.
-
- 24 Jun, 2013 1 commit
-
-
Stephen Kelly authored
This will allow testing whether we are evaluating the link libraries of a particular target.
-
- 10 Jun, 2013 1 commit
-
-
Stephen Kelly authored
Hopefully this will prevent regressions when adding further transitive properties in the future.
-
- 02 Jun, 2013 1 commit
-
-
Stephen Kelly authored
This method reads generator expressions from the COMPILE_OPTIONS target property, as well as INTERFACE_COMPILE_OPTIONS from linked dependents.
-
- 23 Feb, 2013 1 commit
-
-
Stephen Kelly authored
-
- 02 Feb, 2013 1 commit
-
-
Stephen Kelly authored
While porting boost to use these features, the generation step took too long (several minutes before I stopped it). The reason was that the boost libraries form a large interdependent mesh. The libraries list their dependencies in their INTERFACE such as: $<LINKED:boost::core>;$<LINKED:boost::config>;$<LINKED:boost::mpl> As boost::core already depends on the boost::config libraries, that expression has no impact on the end-content, as it is removed after the generation step. There is no DAG issue though, so the generator expression evaluation would fully evaluate them. In the case of the config library, it also depends on the core library, so all depends are followed through that again, despite the fact that they've just been evaluated. After this patch, the evaluation skips libraries if they have already been seen via depends or directly in the content. This patch keeps track of targets whose INTERFACE has been consumed already. The INCLUDE_DIRECTORIES and COMPILE_DEFINITIONS properties are whitelisted because repeated content will be stripped out later during generation. For other properties now and in the future, that may not be the case.
-
- 31 Jan, 2013 1 commit
-
-
Stephen Kelly authored
This will allow the implementation of the LINKED generator expression.
-
- 20 Jan, 2013 1 commit
-
-
Stephen Kelly authored
The properties are evaluated as link-dependent interface properties when evaluating the generator expressions.
-
- 04 Jan, 2013 1 commit
-
-
Stephen Kelly authored
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>)
-
- 28 Sep, 2012 1 commit
-
-
Initially this will only be used to check for self-references, but can be extended to check for cycles when chaining properties of other targets.
-