summaryrefslogtreecommitdiffstats
path: root/Help/manual/cmake-generator-expressions.7.rst
Commit message (Collapse)AuthorAgeFilesLines
* Genex: CompileLang and CompileLangAndId now match against a list of idsRobert Maynard2019-06-031-12/+12
| | | | | | This allows for expressions such as: $<COMPILE_LANG_AND_ID, CXX, GNU, Clang>
* Genex: PlatformId now can match against a list of ids.Robert Maynard2019-06-031-3/+4
|
* Genex: CompilerId now can match against a list of ids.Robert Maynard2019-06-031-12/+17
| | | | | This allows for expressions like: $<$<CXX_COMPILER_ID:Clang,GNU>:-DMY_PRIVATE_DEFINE>
* Genex: Add COMPILE_LANG_AND_ID generator expressionRobert Maynard2019-05-141-0/+36
|
* Docs: Generator-expressions remove usage of `CMake-id`Robert Maynard2019-05-131-10/+10
|
* Genex: Update $<TARGET_FILE_BASE_NAME:...>: take care of POSTFIXMarc Chevrier2019-05-021-0/+23
| | | | | This capability complement MR !3190 and !3207 and is also needed to solve issue #18771.
* Merge topic 'relax_TARGET_OBJECT_generator_expr'Brad King2019-04-301-2/+1
|\ | | | | | | | | | | | | ce078dda79 Relax the usage of TARGET_OBJECTS generator expression Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3178
| * Relax the usage of TARGET_OBJECTS generator expressionRobert Maynard2019-04-191-2/+1
| | | | | | | | | | The geneator expression can now be used with static, shared, and module libraries and executables.
* | Genex: Rename $<TARGET_*_OUTPUT_NAME:...> in $<TARGET_*_FILE_BASE_NAME:...>Marc Chevrier2019-04-151-15/+40
| |
* | Genex: add $<TARGET_FILE_PREFIX:...> and $<TARGET_FILE_SUFFIX:...>Marc Chevrier2019-04-101-1/+22
| | | | | | | | | | These capabilities complement MR !3190 and is also needed to solve issue #18771.
* | Genex: Add $<FILTER:list,INCLUDE|EXCLUDE,regex>Sebastian Lipponer2019-04-081-0/+2
| |
* | Help: Move entry to correct section in cmake-generator-expressions(7) manualSebastian Lipponer2019-04-081-2/+2
| | | | | | | | | | The generator expression $<REMOVE_DUPLICATES:list> is string-valued, not boolean-valued.
* | Genex: Add capability to retrieve base name for various target artifactsMarc Chevrier2019-04-081-0/+19
| | | | | | | | This new capability is required to solve efficiently issue #18771
* | Genex: Add $<REMOVE_DUPLICATES:list>Sebastian Lipponer2019-04-011-0/+2
| |
* | Help: Fix description in cmake-generator-expressions(7) manualSebastian Lipponer2019-04-011-1/+1
|/
* Merge topic 'cuda_compiler_generator_expressions'Brad King2019-03-131-0/+12
|\ | | | | | | | | | | | | | | b53766b205 CUDA: Support compiler id and version generator expressions b544e34af6 All VersionNode use the same capitalization pattern Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3085
| * CUDA: Support compiler id and version generator expressionsRobert Maynard2019-03-111-0/+12
| | | | | | | | | | Introduce the CUDA_COMPILER_ID and CUDA_COMPILER_VERSION generator expressions.
* | Genex: Teach SHELL_PATH to support a list of pathsHenri Manson2019-03-111-0/+5
|/ | | | | | | Extend the genex added by commit ca6ba3fee5 (Genex: Add a SHELL_PATH expression, 2015-09-24, v3.4.0-rc1~37^2) to accept a `;`-list of paths, convert them all, and generate a list separated by the native shell `PATH``` separator.
* Fortran: Add compiler ID/Version generator expressionsAndrew Paprocki2019-01-181-0/+13
| | | | | | | | | | | | Adds `Fortran_COMPILER_ID` and `Fortran_COMPILER_VERSION` generator expression support to match equivalent `C_COMPILER_ID`, `CXX_COMPILER_ID`, `C_COMPILER_VERSION`, and `CXX_COMPILER_VERSION` support. This is very helpful in the case where the C/C++ compiler suite is a different type of compiler from the platform Fortran compiler and projects use generator expressions to assign compiler flags and definitions. (e.g. `GNU` C/C++ and `SunPro` Fortran on Linux)
* Help: Say early on that generator expressions can be nested.Joachim Wuttke (o)2018-11-061-2/+4
|
* Help: add section on debugging generator expressions.Joachim Wuttke (h)2018-11-061-0/+22
| | | | This resolves #18550.
* Help: Explain conversion rules of $<BOOL:string>.Joachim Wuttke (h)2018-11-061-2/+10
| | | | This resolves #18549.
* Help: Code example for case-insensitive comparisonJoachim Wuttke (h)2018-11-061-3/+12
|
* Help: Terminate explanations with a dot.Joachim Wuttke (h)2018-11-061-4/+4
|
* Help: Expand placeholders in string comparisons.Joachim Wuttke (h)2018-11-061-6/+8
| | | | And point out that STREQUAL is case sensitive.
* Help: sort conditional expressions below string-valued ones.Joachim Wuttke (h)2018-11-061-30/+29
| | | | | Makes things yet clearer and simpler. Also correct remnant of "informational expression".
* Help: Add deprecation date of $<CONFIGURATION>Joachim Wuttke (h)2018-11-061-1/+1
|
* Help: Add note on omitted <..> notation in cmake-generator-expressions(7)Joachim Wuttke (h)2018-11-061-0/+5
|
* Help: Revise documentation of string-valued generator expressionsJoachim Wuttke (h)2018-11-061-92/+111
| | | | | * Consolidate examples * Sort, and insert subsection headers
* Help: 3 subtypes of boolean generator expressions.Joachim Wuttke (h)2018-11-061-10/+20
| | | | | Main classification by return type, subclassification by dependences
* Help: Cross-link conditional and boolean expressions.Joachim Wuttke (h)2018-11-061-18/+24
| | | | | Rename Logical -> Boolean Generator Expressions. It's the return type that helps us to sort the expression zoo.
* Help: new section on conditional generator expressionsJoachim Wuttke (h)2018-11-061-8/+15
| | | | | | | | | Before, the closely related signatures $<condition:true_value> $<IF:condition,true_value,false_value> were explained in two different sections. The former section was badly explained, with '0' and '1' in place of the formal parameter 'condition'.
* Help: rm unmotivated "This means that"Joachim Wuttke (h)2018-11-061-4/+4
| | | | | | | That generator expressions enable conditional things has not been said before. Amended for nicer source format.
* Help: expand "ver", "pol", ...Joachim Wuttke (h)2018-11-061-19/+23
| | | | | | | No need to save a few characters on formal parameters. Use this occasion to correct $<PLATFORM_ID:comp>: the parameter is a platform_id, not a compiler_id.
* Help: expand "..." and "?" in logical generator expressionsJoachim Wuttke (h)2018-11-061-13/+20
| | | | | | Expand "..." and "?", which could be mistaken as metacharacters (and in the explanations of AND and OR actually were meant as metacharacters).
* Help: Clarify usage of TARGET_PROPERTY generator expressionKyle Edwards2018-10-261-1/+4
| | | | | | When using $<TARGET_PROPERTY:prop>, the value of prop comes from the consuming target rather than the current target. Add a note to clarify this.
* Help: Apply syntax highlighting to cmake-generator-expressions.7Joachim Wuttke (o)2018-10-251-6/+18
|
* docs: add some 'see also' helper textsBrian Heim2018-09-131-0/+5
| | | | in cmake-generator-expressions
* Help: Formatting typo fix in cmake-generator-expressions(7)Raul Tambre2018-09-101-1/+1
|
* Genex: Add $<TARGET_GENEX_EVAL:...> and $<GENEX_EVAL:...>Marc Chevrier2018-04-231-0/+39
| | | | Fixes: #17884
* genex: Add TARGET_NAME_IF_EXISTS expressionAlex Turbov2018-03-281-0/+3
| | | | | Define `$<TARGET_NAME_IF_EXISTS:tgt>` to mean `tgt` if the target exists and otherwise an empty string.
* genex: Add TARGET_EXISTS to check for target existenceAlex Turbov2018-03-091-0/+2
| | | | | Define `$<TARGET_EXISTS:a>` to `1` if `a` is an existed target name, else `0`.
* Merge topic 'genex-IN_LIST-operator'Brad King2018-02-161-0/+2
|\ | | | | | | | | | | | | 5089f560 Genex: Add IN_LIST logical operator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1724
| * Genex: Add IN_LIST logical operatorMarc Chevrier2018-02-071-0/+2
| | | | | | | | Implements #17679
* | Help: Expand string(MAKE_C_IDENTIFIER) docsCraig Scott2018-02-111-1/+2
|/ | | | | The MAKE_C_IDENTIFIER subcommand was also buried in the docs for the TIMESTAMP subcommand, so it has been pulled out to its own subheading.
* Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and XcodeBrad King2018-01-121-18/+13
| | | | | | | | | | | | | | | The set of compile flags used for a target's C and C++ sources is based on the linker language. By default this is always the C++ flags if any C++ sources appear in the target, and otherwise the C flags. Therefore we can define the `COMPILE_LANGUAGE` generator expression in `INCLUDE_DIRECTORIES` to match the selected language. This is not exactly the same as for other generators, but is the best VS and Xcode can do. It is also sufficient for many use cases since the set of include directories for C and C++ is frequently similar but may be distinct from those for other languages like CUDA. Fixes: #17435
* Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and XcodeBrad King2018-01-121-11/+16
| | | | | | | | | | | | | | | The set of compile flags used for a target's C and C++ sources is based on the linker language. By default this is always the C++ flags if any C++ sources appear in the target, and otherwise the C flags. Therefore we can define the `COMPILE_LANGUAGE` generator expression in `COMPILE_DEFINITIONS` to match the selected language. This is not exactly the same as for other generators, but is the best VS and Xcode can do. It is also sufficient for many use cases since the set of definitions for C and C++ is frequently similar but may be distinct from those for other languages like CUDA. Issue: #17435
* Genex: Enable COMPILE_LANGUAGE for COMPILE_OPTIONS with Visual StudioBrad King2017-11-201-5/+7
| | | | | | | | | | | | | | | | | | | Since commit v3.9.0-rc4~3^2~1 (VS: Fix target_compile_options for CUDA, 2017-06-21), the evaluation of `COMPILE_LANGUAGE` receives the proper language. The set of compile flags used for a target's C and C++ sources is based on the linker language. By default this is always the C++ flags if any C++ sources appear in the target, and otherwise the C flags. Therefore we can define the `COMPILE_LANGUAGE` generator expression in `COMPILE_OPTIONS` to match the selected language. This is not exactly the same as for other generators, but is the best VS can do. It is also sufficient for many use cases since the set of allowed flags for C and C++ is almost the same in Visual Studio. Furthermore, since the VS generator moves many of the flags to declarative `.vcxproj` elements, it will automatically avoid passing C++ flags for C sources. Issue: #17435
* Genex: Allow TARGET_OBJECTS to be used everywhereRobert Maynard2017-04-181-3/+1
| | | | | | | | | Previously the `TARGET_OBJECTS` generator expression was limited only to use in a buildsystem context so that Xcode's placeholders in object file paths can be evaluated. Lift this restriction so that the expression can at least be used in most settings. Co-Author: Brad King <brad.king@kitware.com>
* Help: Fix error in $<COMPILE_LANGUAGE:lang> exampleNils Gladitz2017-04-041-1/+1
|