summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Make linking APIs aware of 'head' targetStephen Kelly2013-01-089-70/+119
| | | | | | | | | | | 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.
* Handle INTERFACE properties transitively for includes and defines.Stephen Kelly2013-01-054-1/+83
| | | | | Contextually, the behavior is as if the properties content from another target is included in the string and then the result is evaluated.
* Populate the ExportedTargets member early in GenerateMainFileStephen Kelly2013-01-052-22/+28
| | | | | | | 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.
* Make cycles in target properties ignored, not an error.Stephen Kelly2013-01-053-11/+25
| | | | | | | | | | | | | | | | 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>)
* Use mapped config properties to evaluate $<CONFIG>Stephen Kelly2013-01-053-39/+72
|
* Make all relevant targets available in the genex context.Stephen Kelly2013-01-055-6/+29
| | | | | The current node being evaluated transitively in the generator expression must be available to resolve mapped configs.
* Add API to populate INTERFACE properties in exported targets.Stephen Kelly2013-01-052-0/+74
| | | | | The INTERFACE properties need to be preprocessed for context (build location or install location) and to extract target names etc.
* Add API to extract target names from a genex string.Stephen Kelly2013-01-052-0/+140
| | | | | | | 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.
* Add the TARGET_NAME generator expression.Stephen Kelly2013-01-052-0/+28
| | | | It will be used as a preprocessing marker.
* Allow generator expressions to require literals.Stephen Kelly2013-01-051-0/+17
|
* GenEx: Add expressions to specify build- or install-only valuesStephen Kelly2013-01-054-9/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* CMake Nightly Date StampKitware Robot2013-01-041-1/+1
|
* Merge topic 'fix-13789-wix-ui-enhancements'Brad King2013-01-031-0/+3
|\ | | | | | | | | 3793dca CPack: WIX Product Icon, UI Banner, UI Dialog support (#13789)
| * CPack: WIX Product Icon, UI Banner, UI Dialog support (#13789)Eric LaFranchi2012-12-281-0/+3
| |
* | Merge topic 'include-dirs-debugging'Brad King2013-01-0311-129/+296
|\ \ | | | | | | | | | | | | | | | | | | 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
| * | Add a way to print the origins of used include directories.Stephen Kelly2013-01-033-0/+41
| | |
| * | Keep track of INCLUDE_DIRECTORIES as a vector of structs.Stephen Kelly2013-01-036-85/+212
| | | | | | | | | | | | | | | The struct can keep track of where the include came from, which gives us proper backtraces.
| * | Use cmsys::auto_ptr to manage cmCompiledGeneratorExpressionsStephen Kelly2012-12-206-45/+44
| | | | | | | | | | | | | | | The compiled generator expressions need to outlive the creating type. For the same reason, store the input string in a std::string.
* | | Merge topic 'fix-12904-avoid-overflow'Brad King2013-01-031-1/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | e378ba5 Add CTestLimitDashJ test (#12904) 3247806 CTest: Prevent creation of unbounded number of tests in ctest (#12904)
| * | | CTest: Prevent creation of unbounded number of tests in ctest (#12904)Casey Goodlett2012-12-181-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge topic 'iface-depends'Brad King2013-01-032-1/+64
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 3096202 Make targets depend on the link interface of their dependees.
| * | | | Make targets depend on the link interface of their dependees.Stephen Kelly2013-01-032-1/+64
| | | | |
* | | | | Merge topic 'genex-cleanup'Brad King2013-01-031-4/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7d736af Replace some 'if' with 'else if'
| * | | | | Replace some 'if' with 'else if'Stephen Kelly2012-12-231-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | For consistency with the rest of the method.
* | | | | | Merge topic 'update-kwsys'Brad King2013-01-0312-1701/+127
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | | | | | Merge branch 'upstream-kwsys' into update-kwsysBrad King2012-12-221-0/+8
| | | | | | |
| * | | | | | Merge branch 'upstream-kwsys' into update-kwsysBrad King2012-12-1911-1701/+119
| | |_|_|/ / | |/| | | |
* | | | | | Merge topic 'fix-undef-warnings'Brad King2013-01-032-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 310455c Fix some warnings from -Wundef
| * | | | | | Fix some warnings from -WundefStephen Kelly2012-12-222-3/+3
| | |/ / / / | |/| | | | | | | | | | | | | | | | Other warnings come from kwsys, so the flag can't be enabled.
* | | | | | CMake Nightly Date StampKitware Robot2013-01-031-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-01-021-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-01-011-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2012-12-311-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2012-12-301-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2012-12-291-1/+1
| |_|_|_|/ |/| | | |
* | | | | CMake Nightly Date StampKitware Robot2012-12-281-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2012-12-271-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2012-12-261-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2012-12-251-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2012-12-241-1/+1
| |_|/ / |/| | |
* | | | CMake Nightly Date StampKitware Robot2012-12-231-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2012-12-221-1/+1
|/ / /
* | | CMake Nightly Date StampKitware Robot2012-12-211-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2012-12-201-1/+1
|/ /
* | CMake Nightly Date StampKitware Robot2012-12-191-1/+1
| |
* | Merge topic 'doc-implicit-link-dirs'David Cole2012-12-181-1/+9
|\ \ | |/ |/| | | | | 017d90c Documentation: Clarify handling of implicit link directories
| * Documentation: Clarify handling of implicit link directoriesBrad King2012-12-111-1/+9
| | | | | | | | | | | | | | | | 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>
* | CMake Nightly Date StampKitware Robot2012-12-181-1/+1
| |
* | CMake Nightly Date StampKitware Robot2012-12-171-1/+1
| |
* | CMake Nightly Date StampKitware Robot2012-12-161-1/+1
| |