Stephen Kelly
0b92602b81
Add the $<LINKED:...> generator expression.
...
This is both a short form of using a TARGET_DEFINED expression
together with a TARGET_PROPERTY definition, and a way to strip
non-target content from interface properties when exporting.
2013-01-31 17:34:20 +01:00
Stephen Kelly
0fa7f69c0e
Add API to check if we're reading a includes or defines property.
...
This will allow the implementation of the LINKED generator expression.
2013-01-31 17:30:49 +01:00
Stephen Kelly
2c3654c3de
Add a way to exclude INTERFACE properties from exported targets.
...
Projects set interface requirements upstream, and existing
downstreams use of target_link_libraries will consume those interfaces.
This can create a backward compatibility concern as the result may
be changing the order of include directories of downstreams, or another
side-effect of using the INTERFACE properties.
Provide a way for them to emulate the behavior of a version-based
policy in the config file.
2013-01-31 17:29:04 +01:00
Stephen Kelly
df4d2b28b2
Make it an error for INSTALL_PREFIX to be evaluated.
...
An empty string is not likely going to produce expected results
in any evaluation context. It is replaced by preprocessing
currently.
2013-01-31 17:27:06 +01:00
Stephen Kelly
7ceeba992b
Advance more when preprocessing exported strings.
...
When evaluating TARGET_PROPERTY here, we can skip to the comma
location. We need to calculate it though as the string may have
just been changed.
2013-01-31 11:18:52 +01:00
Stephen Kelly
30268b46f8
Handle reading empty properties defined by the link interface.
...
This was segfaulting before.
2013-01-31 11:18:49 +01:00
Brad King
da2b0245a3
Merge topic 'fix-target-property-commands'
...
7bf490e
Make subclasses responsible for joining content.
f6b16d4
Don't allow targets args in the new target commands.
b3a7e19
Make the Property name protected so that subclasses can use it.
2013-01-30 09:38:52 -05:00
Kitware Robot
7462a8a8c3
CMake Nightly Date Stamp
2013-01-30 00:01:21 -05:00
Brad King
2eb7cee117
Merge topic 'fix-TARGET_PROPERTY-extraction'
...
5daaa5c
Fix TARGET_PROPERTY target extractions.
2013-01-29 14:52:34 -05:00
Brad King
32b9e67057
Merge topic 'DocumentRelativePathHandling'
...
a7d6ebb
documentation: handling of relative paths by include- and link_directories()
2013-01-29 14:52:22 -05:00
Brad King
5f78d2057f
Merge topic 'fix-relocatable-include-dirs'
...
34d1ade
Add the INSTALL_PREFIX genex.
3a17197
Generate the _IMPORT_PREFIX in the non-config export file.
2013-01-29 14:52:19 -05:00
Brad King
3e7bba3fb2
Merge topic 'fix-automoc-compile-defs'
...
429e369
Process COMPILE_DEFINITIONS as generator expressions in QtAutomoc.
0e10782
Move GetCompileDefinitions to cmTarget.
2013-01-29 14:52:13 -05:00
Stephen Kelly
429e369974
Process COMPILE_DEFINITIONS as generator expressions in QtAutomoc.
...
Fixes #13493 .
2013-01-29 14:11:49 -05:00
Stephen Kelly
0e10782ba7
Move GetCompileDefinitions to cmTarget.
2013-01-29 14:11:49 -05:00
Stephen Kelly
7bf490e9bb
Make subclasses responsible for joining content.
...
This way we can add handling of relative/absolute paths and of
-D in compile definitions.
2013-01-29 19:34:04 +01:00
Stephen Kelly
f6b16d4b06
Don't allow targets args in the new target commands.
2013-01-29 18:44:54 +01:00
Stephen Kelly
b3a7e19ee4
Make the Property name protected so that subclasses can use it.
...
Makes subclasses more dry in upcoming patches.
2013-01-29 17:20:45 +01:00
Stephen Kelly
5daaa5c48d
Fix TARGET_PROPERTY target extractions.
...
We need to make sure we can export targets which have content such
as $<0:$<TARGET_PROPERTY:not_a_target,INTERFACE_INCLUDE_DIRECTORIES>
That means making not finding a target non-fatal here.
2013-01-29 10:56:09 -05:00
Kitware Robot
61d641dccb
CMake Nightly Date Stamp
2013-01-29 00:01:18 -05:00
Kitware Robot
e2afc40d06
CMake Nightly Date Stamp
2013-01-28 00:01:18 -05:00
Alex Neundorf
a7d6ebb01b
documentation: handling of relative paths by include- and link_directories()
...
Alex
2013-01-27 18:00:14 +01:00
Stephen Kelly
34d1ade048
Add the INSTALL_PREFIX genex.
2013-01-27 09:59:26 +01:00
Stephen Kelly
3a1719793f
Generate the _IMPORT_PREFIX in the non-config export file.
2013-01-27 09:42:54 +01:00
Kitware Robot
00ba2545fa
CMake Nightly Date Stamp
2013-01-27 00:01:25 -05:00
Kitware Robot
f7db6d115d
CMake Nightly Date Stamp
2013-01-26 00:01:18 -05:00
Brad King
aa6ad9c903
Merge topic 'generator-expression-lf'
...
6c57c31
doc: fix linebreaks in generator expression documentation
2013-01-25 13:38:13 -05:00
Brad King
c29dd4fa76
Merge topic 'doc-link-interface'
...
f032fb9
target_link_libraries: Document that new sigs privatize old (#13876 )
2013-01-25 13:38:10 -05:00
Brad King
2046de2a39
Merge topic 'compatible-interface-strings'
...
2fb2c32
Add the COMPATIBLE_INTERFACE_STRING property.
cd66b91
Make calculation of link-interface-dependent properties type-sensitive.
2013-01-25 13:38:06 -05:00
Kitware Robot
a4eb27fbab
CMake Nightly Date Stamp
2013-01-25 00:01:19 -05:00
Rolf Eike Beer
6c57c31414
doc: fix linebreaks in generator expression documentation
2013-01-24 23:12:36 +01:00
Brad King
f032fb904b
target_link_libraries: Document that new sigs privatize old ( #13876 )
...
Explain in the documentation for the legacy signature
target_link_libraries(foo bar)
that the other signatures like
target_link_libraries(foo LINK_INTERFACE_LIBRARIES ...)
target_link_libraries(foo LINK_PRIVATE ...)
will set the LINK_INTERFACE_LIBRARIES target property and therefore make
libraries specified only by the legacy signature private.
2013-01-24 16:06:14 -05:00
Stephen Kelly
2fb2c32f9b
Add the COMPATIBLE_INTERFACE_STRING property.
2013-01-24 20:36:04 +01:00
Stephen Kelly
cd66b9131d
Make calculation of link-interface-dependent properties type-sensitive.
2013-01-24 20:36:04 +01:00
Brad King
21fc6c46df
Merge topic 'fix-COMPATIBLE_INTERFACE-link-libraries'
...
6fbe3ce
Exclude the LINK_LIBRARIES related properties from INTERFACE evaluation.
2013-01-24 08:26:01 -05:00
Brad King
907f1e2227
Merge topic 'cmMakefile-comment-typos'
...
3853a6c
spell: fix a few typos in comments
2013-01-24 08:25:53 -05:00
Stephen Kelly
6fbe3ce4ef
Exclude the LINK_LIBRARIES related properties from INTERFACE evaluation.
...
These interface-related link-libraries properties are used to determine
the value of the other INTERFACE properties, so we were getting infinite
recursion and segfaults otherwise.
2013-01-24 08:17:46 -05:00
Kitware Robot
2cf9642e9c
CMake Nightly Date Stamp
2013-01-24 00:01:18 -05:00
Brad King
76ace2b95a
Merge topic 'disallow-IMPORTED-interface-porcelain'
...
b98d14d
Disallow porcelain to populate includes and defines of IMPORTED targets.
48a4cf2
Revert "Allow target_link_libraries with IMPORTED targets."
2013-01-23 15:11:40 -05:00
Brad King
7db963a017
Merge topic 'clean-include-dirs-debugging'
...
6063fef
Output include directories as LOG messages, not warnings.
aa66748
Specify the target whose includes are being listed.
d70204a
Only output includes once after the start of 'generate-time' when debugging.
0d46e9a
Store includes from the same include_directories call together.
2013-01-23 15:11:36 -05:00
Brad King
33695c616a
Merge topic 'export-new-style-files'
...
02d4e53
Generate new-style cmake code during export.
2013-01-23 15:11:32 -05:00
Brad King
7a336d2e31
Merge topic 'fix-LINK_LIBRARIES-population'
...
d7f1520
Don't wrap all targets in LINK_LIBRARIES in a TARGET_NAME genex.
2013-01-23 15:11:28 -05:00
Brad King
a37b0e3ebf
Merge topic 'qt4-autolink-qtmain'
...
e3b5eb6
Automatically link to the qtmain library when linking to QtCore.
6c8d8af
Add the $<TARGET_POLICY> expression
2013-01-23 15:11:24 -05:00
Brad King
bf2e4e8cb1
Merge topic 'fix-COMPATIBLE_INTERFACE-properties'
...
830246e
Export the COMPATIBLE_INTERFACE_BOOL content properties
bd82bb4
Clear the link information in ClearLinkMaps.
e987991
Make INTERFACE determined properties readable in generator expressions.
d9afacc
Exit early if we find an inconsistent property.
1800f70
Populate the link information cache before checking dependent properties.
2013-01-23 15:11:15 -05:00
Brad King
e7be8be8c0
Merge topic 'xcode-duplicate-flags-13354'
...
f447db7
XCode generator won't infinitely parse compiler flags (bug #13354 ).
2013-01-23 15:11:09 -05:00
Brad King
95f88fd2a1
Merge topic 'fix-target_include_directories-genex'
...
24dcf0c
Make sure generator expressions can be used with target_include_directories.
2013-01-23 15:11:04 -05:00
Brad King
c4c52b3273
Merge topic 'automoc-object'
...
0e35cac
Automoc: add OBJECT library to QtAutomoc test
cf3faac
Automoc: Fix automoc for OBJECT libraries.
2013-01-23 15:10:39 -05:00
Stephen Kelly
e3b5eb6b23
Automatically link to the qtmain library when linking to QtCore.
...
When using QAxServer, ensure that the qtmain library is excluded
by reporting an error at CMake time if it is not.
2013-01-23 14:15:41 -05:00
Yury G. Kudryashov
3853a6c3a7
spell: fix a few typos in comments
2013-01-23 10:51:31 -05:00
Kitware Robot
a40c4261e6
CMake Nightly Date Stamp
2013-01-23 00:01:06 -05:00
Kitware Robot
2db9b0b066
CMake Nightly Date Stamp
2013-01-22 00:01:18 -05:00