summaryrefslogtreecommitdiffstats
path: root/Source/cmDocumentGeneratorExpressions.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'language-generator-expressions'Brad King2013-05-241-0/+8
|\ | | | | | | | | 3241014 Add $<LINK_LANGUAGE> generator expression
| * Add $<LINK_LANGUAGE> generator expressionStephen Kelly2013-05-241-0/+8
| | | | | | | | | | | | They can't be used when evaluating link libraries, but they can be used for include directories and compile definitions. Later they can be used for compile options.
* | Merge topic 'join-genex'Brad King2013-05-221-0/+2
|\ \ | |/ | | | | | | | | | | | | a7ba452 Add the JOIN generator expression. 96ec314 Make it possible for any genex to have arbitrary content at the end. bd638ee Rename the method determining if a genex accepts arbitrary content. dc742fe Extract the ProcessArbitraryContent method.
| * Add the JOIN generator expression.Stephen Kelly2013-05-161-0/+2
| | | | | | | | | | | | This generator expression joins a list with a separator. The separator may contain arbitrary content, such as commas, which is ordinarily a delimiter in the generator expression syntax.
* | Fix spelling and typos (affecting binary data / module messages)Andreas Mohr2013-05-071-1/+1
|/
* Add $<SEMICOLON> generator expression.Jean-Christophe Fillion-Robin2013-03-121-0/+2
| | | | | This expression is useful to put a ';' in a command line argument without dividing the argument during CMake list expansion.
* Revert "Add the TARGET_DEFINED generator expression"Stephen Kelly2013-02-251-1/+0
| | | | | | | | | | | | | | | | This reverts commit 2bee6f5ba5b3f33817cc00e056a7df60d05c9399. This expression is not used, and has a semantic which is not completely optimal (namely considering utility targets to be targets, though usually we are interested in linkable targets). Remove it so that we have more freedom to define better expressions in the future. Conflicts: Source/cmGeneratorExpressionEvaluator.cxx Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt Tests/CMakeCommands/target_compile_definitions/consumer.cpp
* Revert "Add the $<LINKED:...> generator expression."Stephen Kelly2013-02-131-8/+0
| | | | | | | | | This reverts commit 0b92602b816e2584db3781b120a1e5200da72ada. Conflicts: Source/cmGeneratorExpressionEvaluator.cxx Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt Tests/CMakeCommands/target_include_directories/CMakeLists.txt
* Add the $<LINKED:...> generator expression.Stephen Kelly2013-01-311-0/+8
| | | | | | 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.
* Add the INSTALL_PREFIX genex.Stephen Kelly2013-01-271-0/+2
|
* doc: fix linebreaks in generator expression documentationRolf Eike Beer2013-01-241-4/+5
|
* Add the $<TARGET_POLICY> expressionStephen Kelly2013-01-171-0/+4
| | | | | | This new expression allows checking how a policy was set when a target was created. That information is only recorded for a subset of policies, so a whitelist is used.
* Add the TARGET_DEFINED generator expressionStephen Kelly2013-01-131-0/+1
| | | | This tests whether the parameter is a usable target.
* Add the TARGET_NAME generator expression.Stephen Kelly2013-01-051-0/+4
| | | | It will be used as a preprocessing marker.
* GenEx: Add expressions to specify build- or install-only valuesStephen Kelly2013-01-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix the layout of the generator expression documentation.Stephen Kelly2012-09-291-3/+5
|
* Add a generator expression for target properties.Stephen Kelly2012-09-281-1/+10
| | | | | | | | There are two overloads, so that it can use the operational target when a target property is being evaluated, and a target can alternatively be specified by name. At this point, the generators don't chain. That comes later.
* Extend the generator expression language with more logic.Stephen Kelly2012-09-281-0/+6
| | | | | | | Generator expressions for comparing strings, evaluating strings as booleans, and for creating literal right-angle-brackets and commas are added. Those may be needed in some cases where they appear in literals.
* Add $<CONFIG:...> boolean query generator expressionBrad King2012-08-151-0/+1
| | | | | | | This expression evaluates to '1' or '0' to indicate whether the build configuration for which the expression is evaluated matches tha named configuration. In combination with the "$<0:...>" and "$<1:...>" expressions this allows per-configuration content to be generated.
* Add boolean generator expressionsBrad King2012-08-151-1/+9
| | | | | | | | | | | | | Add generator expressions that combine and use boolean test results: $<0:...> = empty string (ignores "...") $<1:...> = content of "..." $<AND:?[,?]...> = '1' if all '?' are '1', else '0' $<OR:?[,?]...> = '0' if all '?' are '0', else '1' $<NOT:?> = '0' if '?' is '1', else '1' These will be useful to evaluate (future) boolean query expressions and condition content on the results. Include tests and documentation.
* Factor generator expression docs out of add_testBrad King2010-12-151-0/+30
This documentation may be reused wherever generator expressions are supported.