summaryrefslogtreecommitdiffstats
path: root/Help/manual/cmake-generator-expressions.7.rst
Commit message (Collapse)AuthorAgeFilesLines
* Help: Fix indenting within TARGET_RUNTIME_DLLS genex docsCraig Scott2023-08-041-3/+3
|
* Help: Improve formatting and wording of LIST generator expressionsCraig Scott2023-07-131-57/+89
|
* Help: Fix typos, formatting and wording for TARGET_IMPORT_FILE genexesCraig Scott2023-07-121-12/+12
|
* Help: Add missing versionadded for TARGET_IMPORT_FILE_DIR genexCraig Scott2023-07-121-0/+2
| | | | Issue: #25060
* Merge topic 'compile-only-genex'Brad King2023-05-051-1/+21
|\ | | | | | | | | | | | | | | | | c42630ee62 cmGeneratorExpressionNode: implement `COMPILE_ONLY` genex 0fb923c460 cmGeneratorExpressionNode: implement `COMPILE_ONLY` genex Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8411
| * cmGeneratorExpressionNode: implement `COMPILE_ONLY` genexRobert Maynard2023-05-041-5/+8
| | | | | | | | | | | | | | | | | | This generator expression is the inverse of `LINK_ONLY` and only coveys usage requirements for the purposes of compilation. Its intended use is to avoid needing to export targets that do not have link usage requirements (e.g., header-only libraries) when used by another target. See: #15415
| * cmGeneratorExpressionNode: implement `COMPILE_ONLY` genexBen Boeckel2023-04-121-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This generator expression is the inverse of `LINK_ONLY` and only coveys usage requirements for the purposes of compilation. Its intended use is to avoid needing to export targets that do not have link usage requirements (e.g., header-only libraries) when used by another target. It will also be used to represent private usage requirements on exported C++ module-containing targets in the future. Eventually there should be logic to collapse nesting of `$<COMPILE_ONLY>` and `$<LINK_ONLY>` when generating instances of either. A TODO is left in the code for this case. See: #15415
* | GenEx LIST: list operationsMarc Chevrier2023-04-161-2/+262
|/ | | | Fixes: #24550, #24547
* Utilities/Sphinx: Allow explicit target for genexMatthew Woehlke2023-03-131-0/+1
| | | | | | | | | | | | | | | | Split the genex directive into its own class, allowing a slight simplification of CMakeObject. Add ability to specify an explicit target name for the same. Use this to provide a target for the `$<TARGET_PROPERTY:prop>` generator expression which is otherwise missing one (due to overlap with `$<TARGET_PROPERTY:tgt,prop>`). With this one can write: :genex:`$<TARGET_PROPERTY:prop> <TARGET_PROPERTY:prop>` to link the second variant. Fixes: #24573
* Merge topic 'TargetRunTimeDllDirs'Kyle Edwards2023-03-021-1/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | a2c9c4f202 Add test for the new TARGET_RUNTIME_DLL_PATHS genex aa68de0a27 TARGET_RUNTIME_DLLS: minor refactoring of shared-check.cmake 2ce3d62ffb Help: add documentation for the new TARGET_RUNTIME_DLL_DIRS genex c351dcd967 TARGET_RUNTIME_DLL_DIRS: add the new genex to cmGeneratorExpressionNode 064c3244da TARGET_RUNTIME_DLLS: fix test for this genex Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !8247
| * Help: add documentation for the new TARGET_RUNTIME_DLL_DIRS genexAlexander Neundorf2023-02-261-1/+17
| |
* | Apple: Handle generation and comsuption of text-based stubs (.tbd files)Marc Chevrier2023-03-011-3/+248
| | | | | | | | Fixes: #24123
* | install(CODE|SCRIPT): Support $<INSTALL_PREFIX> genexKyle Edwards2023-02-241-2/+4
| | | | | | | | Fixes: #24534
* | PATH-genex: handle lists for path decomposition and transformationsMarc Chevrier2023-02-211-17/+26
|/ | | | Fixes: #24371
* Help: Update $<TARGET_RUNTIME_DLLS> docs to use cmake -E copy -tKyle Edwards2023-02-081-3/+3
| | | | | | The -t argument was added to support using $<TARGET_RUNTIME_DLLS> in the case that no DLLs are needed. Update the documentation accordingly.
* Help: improve docs for INSTALL_NAME_DIRAlexander Neundorf2023-01-201-0/+3
| | | | | | | INSTALL_NAME_DIR now mentions BUILD_WITH_INSTALL_NAME_DIR. The INSTALL_NAME_DIR, INSTALL_RPATH and $<TARGET_RUNTIME_DLLS:tgt> documentation now mention the other two platforms respectively, to make it easier for developers who are not familiar with all three platforms,
* Merge topic 'build-local-interface-genex'Brad King2022-11-181-0/+7
|\ | | | | | | | | | | | | | | | | 38cbf5e15b Genex: Add $<BUILD_LOCAL_INTERFACE:...> genex 37b5c78688 cmGeneratorExpression: Refactor stripExportInterface() to use enum class Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7919
| * Genex: Add $<BUILD_LOCAL_INTERFACE:...> genexKyle Edwards2022-11-171-0/+7
| | | | | | | | Fixes: #23209
* | Genex: Fix TARGET_PROPERTY lookup scope in transitive usage requirementsBrad King2022-11-171-0/+7
|/ | | | | | | | | | When `$<TARGET_PROPERTY:tgt,prop>` is used in an `INTERFACE_*` target property for usage requirements, it may be evaluated in the context of a dependent target in another directory. Look up the `tgt` name in the directory of the target whose property holds the expression so that imported targets isolated to that directory are visible. Fixes: #24163
* Help: Use role `:program:`Alex Turbov2022-11-061-2/+2
| | | | | When mention execitable names use Sphinx semantic role `:program` instead of ``executable`` or **executable**.
* Help: Document version when COMPILE_LANGUAGE genex accepts multiple languagesMichael Hirsch2022-10-121-0/+4
|
* Help: Document comma-separation in some generator expressionsMichael Hirsch2022-10-121-15/+15
|
* Help: $<CONFIG:...> supports multiple configs only since CMake 3.19Michael Hirsch2022-08-241-0/+4
|
* Help: Fix wrong syntax for $<PATH:REPLACE_EXTENSION,...>Craig Scott2022-07-241-1/+1
|
* Help: Add Whitespace And Quoting section to genex manualCraig Scott2022-07-191-0/+87
|
* Help: Restructure reference sections of genex manualCraig Scott2022-07-191-872/+866
| | | | | | | | As part of the general restructuring, also move the notes of a more introductory nature out of what was the "String-Valued Generator Expressions" section and up to the dedicated Introduction. This gives the reader a bit more of a foundation before they get to the heavier detail of the reference section.
* Help: Move reference content to its own section at end of genex manualCraig Scott2022-07-191-49/+53
| | | | | | | | | | | | | | This involves moving the Debugging section up to just after the introduction. The content of that section is unchanged. The reference section then follows, and since it is a dedicated section, all existing sections thereunder were demoted one level. Move the note about deviating from the usual CMake docs convention of using angle brackets around placeholders out of the Introduction and to the start of the reference section. No placeholders are used before that point, so that content no longer belongs in the introduction. Apply some minor wording cleanup to the content in the Introduction that remained.
* Help: Add missing versionadded for CUDA genexesCraig Scott2022-07-191-0/+4
|
* Help: Genex manual typo, grammar, formatting, wording fixesCraig Scott2022-07-191-35/+35
|
* Help: Boolean genex conditions must evaluate to 1 or 0Craig Scott2022-07-191-5/+8
|
* Help: Fix cross-references in genex manual that linked to wrong genexesCraig Scott2022-07-191-4/+4
|
* Genex LINK_LIBRARY and LINK_GROUP: check supported propertiesMarc Chevrier2022-07-061-6/+8
| | | | | | | Refines check for properties supporting these genex. Enhance error message. Fixes: #23699
* Help: Document $<TARGET_FILE> dependency behaviorRobert Maynard2022-07-051-0/+4
| | | | Fixes: #23686
* Help: Rework $<LINK_LIBRARY>, $<LINK_GROUP> and related docsCraig Scott2022-07-031-140/+148
| | | | | | | These changes restructure the docs to improve readability and flow, correct grammar and typos, and fix errors and inconsistencies in some of the examples. Fixes: #23684
* Help: Trivial grammar fixup in LINK_GROUPS genexCraig Scott2022-06-101-1/+1
|
* Help: genex: layout updatesMarc Chevrier2022-06-031-19/+22
| | | | | * create section for version comparisons * move $<LINK_LIBRARY> and $<LINK_GROUP> to "Output-Related Expressions" section
* Genex-PATH_EQUAL: path comparisonMarc Chevrier2022-06-011-0/+13
| | | | To complete issue #23498
* Genex-PATH: path handlingMarc Chevrier2022-05-311-0/+212
| | | | Fixes: #23498
* Merge topic 'doc-hip-genex-versionadded'Brad King2022-05-241-0/+8
|\ | | | | | | | | | | | | 9f863cbd93 Help: Document when HIP_COMPILER generator expressions were added Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7289
| * Help: Document when HIP_COMPILER generator expressions were addedEisuke Kawashima2022-05-241-0/+8
| | | | | | | | | | These were added by commit b50bfc8913 (HIP: Add language to CMake, 2020-08-28, v3.21.0-rc1~66^2~4).
* | Help: Clarify which items are retained by $<REMOVE_DUPLICATES:...>Craig Scott2022-04-281-1/+3
| |
* | Genex: Add TARGET_BUNDLE_DIR_NAMEBen Leadbetter2022-04-221-0/+10
| | | | | | | | | | | | Evaluate to the name of the bundle directory for a given bundle target. Fixes: #23409
* | Help: Make TARGET_BUNDLE[_CONTENT]_DIR examples more preciseBrad King2022-04-221-6/+8
| | | | | | | | | | | | | | The `TARGET_BUNDLE_DIR` and `TARGET_BUNDLE_CONTENT_DIR` generator expressions produce absolute paths. Show them in the examples. Suggested-by: Ben Leadbetter <ben.leadbetter@native-instruments.com>
* | Merge topic 'target-runtime-dlls-doc'Brad King2022-04-201-7/+7
|\ \ | |/ | | | | | | | | | | 692aacfc72 Help: Remove references to MODULE in $<TARGET_RUNTIME_DLLS> doc Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7186
| * Help: Remove references to MODULE in $<TARGET_RUNTIME_DLLS> docKyle Edwards2022-04-191-7/+7
| |
* | LINK_LIBRARIES: Add support for LINK_ONLY genexBrad King2022-03-241-6/+9
| | | | | | | | | | | | | | Previously we always used content guarded by `$<LINK_ONLY:...>` in `LINK_LIBRARIES`, even when evaluating for non-linking usage requirements. Add a policy to honor `LINK_ONLY` in `LINK_LIBRARIES` the same way we already do in `INTERFACE_LINK_LIBRARIES`.
* | genex-LINK_LIBRARY: Add feature WHOLE_ARCHIVEMarc Chevrier2022-03-171-2/+2
| |
* | Merge topic 'LINK_LIBRARY-libraries'Brad King2022-03-071-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 9fb1dff070 LINK_LIBRARY: Add features for library support on Apple 93a153bc7f Genx-LINK_LIBRARY: simplify framework features definitions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7029
| * | LINK_LIBRARY: Add features for library support on AppleMarc Chevrier2022-03-051-2/+2
| | |
* | | Genex-LINK_GROUP: Add feature RESCANMarc Chevrier2022-03-051-3/+7
|/ / | | | | | | | | Feature RESCAN can be used to manage circular references between static libraries.