summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt
Commit message (Collapse)AuthorAgeFilesLines
...
| * Help: Fix typo and improve readability for LINK_LIBRARIES_ONLY_TARGETSCraig Scott2022-03-131-4/+3
| |
* | CUDA: Add support for CUDA_ARCHITECTURES=nativeBrad King2022-03-101-0/+5
| | | | | | | | | | | | | | | | | | | | | | CUDA 11.6 added the `nvcc -arch=native` flag to automatically compile for the host GPUs' architectures. Add support for specifying this special `native` value in `CMAKE_CUDA_ARCHITECTURES` and `CUDA_ARCHITECTURES`. During the compiler ABI detection step, detect the native architectures so we can pass them explicitly when using Clang or older versions of nvcc. Fixes: #22375
* | Merge topic 'doc-file-sets'Brad King2022-03-096-22/+58
|\ \ | |/ | | | | | | | | | | | | 4286b72240 Help: Update install() docs to better reflect preference for file sets ab1b573f41 Help: Reorganise FILE_SETS and related properties Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7031
| * Help: Reorganise FILE_SETS and related propertiesCraig Scott2022-03-056-22/+58
| | | | | | | | | | | | | | | | | | | | | | | | Reduce duplication and make the docs for target_sources() focus on the functionality rather than the properties it modifies. The properties are a lower level quantity, so put the relevant details for them in the property documentation. The target_sources() command only needs to reference the properties, not reproduce the property documentation. Improve the cross-referencing between the HEADER_... property docs. This helps build the mental picture of how they relate to each other.
| * Merge topic 'cuda-arch-all' into release-3.23Brad King2022-03-021-8/+10
| |\ | | | | | | | | | | | | | | | | | | | | | | | | 2796d6eeca CUDA: Fix CMAKE_CUDA_ARCHITECTURES=all/all-major with NVCC 11.5+ e450d55552 Help: Update CUDA_ARCHITECTURES docs for generic all/all-major support fe64c49e72 CUDA: Simplify CMAKE_CUDA_ARCHITECTURES special value logic Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7026
* | \ Merge topic 'cuda-arch-all'Brad King2022-03-021-8/+10
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | 2796d6eeca CUDA: Fix CMAKE_CUDA_ARCHITECTURES=all/all-major with NVCC 11.5+ e450d55552 Help: Update CUDA_ARCHITECTURES docs for generic all/all-major support fe64c49e72 CUDA: Simplify CMAKE_CUDA_ARCHITECTURES special value logic Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7026
| * | Help: Update CUDA_ARCHITECTURES docs for generic all/all-major supportBrad King2022-03-011-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 8f64df0a7c (CUDA: Generic all and all-major support, 2021-12-19, v3.23.0-rc1~23^2), these special values do not require any specific compiler or version. While at it, re-organize CUDA_ARCHITECTURES special value documentation. Move the `versionadded` markup inside each special value so we can add more in future versions.
* | | Merge topic 'doc-crosscompiling-emulator-arg-list-3.15'Brad King2022-03-011-3/+4
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 6ff1217b9c Help: Add missing versionadded to *CROSSCOMPILING_EMULATOR Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7023
| * | Help: Add missing versionadded to *CROSSCOMPILING_EMULATORfriendlyanon2022-02-281-3/+4
| |/ | | | | | | | | | | | | The list capability was added in CMake 3.15 by commit fec441ec17 (Teach CROSSCOMPILING_EMULATOR to support arguments, 2019-05-30, v3.15.0-rc1~6^2), but the documentation did not indicate the version that added it.
* | genex-LINK_LIBRARY: rename configuration variablesMarc Chevrier2022-02-162-8/+8
| | | | | | | | | | | | To be more consistent between genex and variables as well as the forecomming LINK_GROUP genex, rename variable *_LINK_USING_<FEATURE>* in *_LINK_LIBRARY_USING_<FEATURE>*
* | Merge topic 'genex-LINK_LIBRARY-to-decorate-library'Brad King2022-02-092-0/+99
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2a6b0415d7 $<LINK_LIBRARY>: Add LINK_LIBRARY_OVERRIDE target property 42965799b4 Genex: Add $<LINK_LIBRARY:...> 78dd7d5292 cmRulePlaceholderExpander: add base class for placeholder expansion reuse 4b55828a9f cmExpandListWithBacktrace: add handling of empty elements. 28d7432468 cmComputeLinkInformation: use cmComputeLinkDepends::LinkEntry Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6769
| * | $<LINK_LIBRARY>: Add LINK_LIBRARY_OVERRIDE target propertyMarc Chevrier2022-02-082-0/+99
| |/ | | | | | | | | | | To enable the management of incompatible $<LINK_LIBRARY> declarations, add LINK_LIBRARY_OVERRIDE and LINK_LIBRARY_OVERRIDE_<LIBRARY> target properties.
* | VS: Add property to turn off Visual Studio compile batchingKaloyan Donev2022-02-081-0/+21
|/ | | | Resolves: #23179
* Help: Update Sphinx versionadded directives for 3.23 releaseBrad King2022-02-033-0/+6
| | | | | | | | | Run the script: Utilities/Sphinx/update_versions.py --since v3.22.0 --overwrite Manually select updates that really belong to the 3.23 release, as against adding documentation for previously-existing entities.
* Help: Clarify documentation on SYSTEM include directoriesBrad King2022-02-033-5/+12
| | | | | | | | Mention that system include directories are searched after normal include directories. Document that `IMPORTED_NO_SYSTEM` and `NO_SYSTEM_FROM_IMPORTED` do not affect `INTERFACE_SYSTEM_INCLUDE_DIRECTORIES`.
* Merge topic 'link-interface-direct'Brad King2022-01-315-2/+285
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | f3ad061858 Add usage requirements to update direct link dependencies 193a999cd5 cmTarget: Add INTERFACE_LINK_LIBRARIES_DIRECT{,_EXCLUDE} backtrace storage 22d5427aa6 cmGeneratorTarget: Add LookupLinkItem option to consider own target name f3d2eab36a cmGeneratorTarget: Fix link interface caching of partial results d75ab9d066 cmGeneratorTarget: Clarify CMP0022 logic in ComputeLinkInterfaceLibraries f3e9e03fe0 cmGeneratorTarget: Simplify CMP0022 warning check 216aa14997 cmGeneratorTarget: Return early from ExpandLinkItems with no items 1bc98371d1 Tests: Remove unnecessary policy setting from ObjectLibrary test ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6886
| * Add usage requirements to update direct link dependenciesBrad King2022-01-295-0/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Link line construction starts with `LINK_LIBRARIES` and appends dependencies from the transitive closure of `INTERFACE_LINK_LIBRARIES`. Only the entries of `LINK_LIBRARIES` are considered direct link dependencies. In some advanced use cases, particularly involving static libraries and static plugins, usage requirements need to update the list of direct link dependencies. This may mean adding new items, removing existing items, or both. Add target properties to encode these usage requirements: * INTERFACE_LINK_LIBRARIES_DIRECT * INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE Fixes: #22496
| * Help: Cross-reference LINK_LIBRARIES and INTERFACE_LINK_LIBRARIESBrad King2022-01-292-2/+12
| | | | | | | | Document in each property its role in combination with the other.
* | Help: Highlight internal nature of linker preference variablesCraig Scott2022-01-301-2/+4
|/ | | | | | | | | | In d2efc90598 (Help: Move linker preference variables to the internal section, 2022-01-15), the internal nature of the CMAKE_<LANG>_LINKER_PREFERENCE and CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES variables was made clearer. The LINKER_LANGUAGE target property references the former, but doesn't mention that the variable is internal. Make the internal nature of the variable and the preference implementation in general clearer in the LINKER_LANGUAGE docs.
* Merge topic 'doc-LANG_STANDARD_REQUIRED'Craig Scott2022-01-152-5/+18
|\ | | | | | | | | | | | | | | acd65d78c4 Help: Actual language standard can be higher than <LANG>_STANDARD Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !6870
| * Help: Actual language standard can be higher than <LANG>_STANDARDCraig Scott2022-01-142-5/+18
| | | | | | Fixes: #22885
* | Help: Document formatting of DEPRECATION target propertyBrad King2022-01-131-0/+5
|/ | | | Also add a test case to verify it.
* Merge topic 'vs-csharp-dotnet-sdk'Brad King2021-12-221-0/+25
|\ | | | | | | | | | | | | | | | | 0eea32a376 VS: Add DOTNET_SDK property to generate SDK-style C# projects a450cc9533 VS: Set ResolveNugetPackages to false for ALL_BUILD and ZERO_CHECK fa76e5d194 cmVisualStudio10TargetGenerator: Factor out helper for classic MSBuild project Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6634
| * VS: Add DOTNET_SDK property to generate SDK-style C# projectsSumit Bhardwaj2021-12-211-0/+25
| | | | | | | | | | | | | | | | Changes in cmVisualStudio10TargetGenerator::Generate to write .Net SDK-style project for VS generators VS 19 and above. Also adds documentation and tests. Issue: #20227
* | target_link_libraries: Optionally require only target namesBrad King2021-12-201-0/+55
|/ | | | | | | | | | Optionally verify that items in `LINK_LIBRARIES` and `INTERFACE_LINK_LIBRARIES` that can be target names are actually target names. Add a `LINK_LIBRARIES_ONLY_TARGETS` target property and corresponding `CMAKE_LINK_LIBRARIES_ONLY_TARGETS` variable to enable this new check. Fixes: #22858
* Merge topic 'xcode-generation-enablegpuframecapturemode'Brad King2021-11-122-0/+16
|\ | | | | | | | | | | | | | | | | 0798edfb85 Tests: Xcode scheme ENABLE_GPU_FRAME_CAPTURE_MODE e09a3eddb6 Xcode: Support "GPU Frame Capture" scheme property Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6639
| * Xcode: Support "GPU Frame Capture" scheme propertyJake Turner2021-10-192-0/+16
| | | | | | | | | | | | | | | | | | | | | | Added XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE variable which sets the scheme property value for "GPU Frame Capture" in the Options section by setting the Xcode project variable "enableGPUFrameCaptureMode". Example values are "Metal" (1) and "Disabled" (3). XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE is initialized by the property CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE. Implements: #22700
* | Merge topic 'xcode-embed-plugins'Brad King2021-11-114-0/+15
|\ \ | | | | | | | | | | | | | | | | | | 9e1e7dc7db Xcode: Add embedded plugins option Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6690
| * | Xcode: Add embedded plugins optionGusts Kaksis2021-11-104-0/+15
| | |
* | | Merge topic 'target-sources-file-set'Brad King2021-11-086-0/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | e0a66059d4 Help: Fix target_sources FILE_SET signature summary 79d379fba6 Help: Add versionadded markup to target_sources FILE_SET feature Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6703
| * | | Help: Add versionadded markup to target_sources FILE_SET featureBrad King2021-11-056-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | This was accidentally left out of commit 4b0ee4e338 (Help: Add documentation for target_sources(FILE_SET) and associated properties, 2021-07-02).
* | | | Merge topic 'doc-CUDA_STANDARD'Brad King2021-11-081-5/+11
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 84667a6f3c Help: Clarify valid versus supported values for CUDA_STANDARD Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !6707
| * | | Help: Clarify valid versus supported values for CUDA_STANDARDCraig Scott2021-11-071-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake 3.18 added the first support for any compiler for 17 and 20, but those were recognized as valid values in earlier CMake versions even though there was no compiler that supported them. Make this distinction clear to avoid creating the impression that these standards could be usefully used before CMake 3.18. While 98 is recognized as a valid value, it also just gets treated as 03 internally. Document this behavior as well. Fixes: #22711
* | | | Merge topic 'doc-SOURCES-genex'Brad King2021-11-051-2/+34
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9fac18a4a6 Help: Clarify target_sources path conversion w.r.t generator expressions 9abd63dd3a Help: Explain how target SOURCES are interpreted Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Michael Hirsch <michael@scivision.dev> Merge-request: !6692
| * | | | Help: Explain how target SOURCES are interpretedArcturus Arcturus2021-11-021-2/+34
| | |/ / | |/| | | | | | Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* | | | Merge topic 'help_cmake_lang_extensions_default'Brad King2021-11-037-13/+26
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | | | | e9976c8827 Help: Better explain CMAKE_<LANG>_EXTENSIONS_DEFAULT Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6686
| * | Help: Better explain CMAKE_<LANG>_EXTENSIONS_DEFAULTRaul Tambre2021-11-027-13/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Explain that this represents the compiler's default and mustn't be modified by the user. Clarify when it's used as the default. Additionally: * Add a reference to it in cmake-compile-features in text explaining the feature. * Add explanations for the default initialization by `CMAKE_<LANG>_EXTENSIONS_DEFAULT` to all `<LANG>_EXTENSIONS` pages and references to CMP0128. * Slightly reduce the wordiness of the default initialization explanations by removing an unnecessary "it is". Fixes #22828.
* | | Merge topic 'support_nvcc_native_flag'Brad King2021-11-021-0/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 14d8a2768d CUDA: Support nvcc 11.5 new -arch=all|all-major flags Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !6652
| * | | CUDA: Support nvcc 11.5 new -arch=all|all-major flagsRobert Maynard2021-11-011-0/+12
| | |/ | |/|
* | | Help: Add documentation for target_sources(FILE_SET) and associated propertiesKyle Edwards2021-10-276-0/+41
|/ /
* | export: Propagate IMPORTED_NO_SYSTEM target property to consumersBrad King2021-10-151-1/+3
| | | | | | | | | | | | | | | | | | Enabling `IMPORTED_NO_SYSTEM` on a target built within the project has no effect on the build system, but it is still a useful way to set the property on imported targets generated by `install(EXPORT)` and `export()`. Issue: #17364
* | Add property to mark IMPORTED targets as not SYSTEMBrad King2021-10-142-0/+18
|/ | | | | | | | | | | Add an `IMPORTED_NO_SYSTEM` target property to specify this. When enabled, do not treat the `INTERFACE_INCLUDE_DIRECTORIES` of an imported target as `SYSTEM` include directories. This is similar to the existing `NO_SYSTEM_FROM_IMPORTED` property, but works from the consumed target rather than the consumer. Fixes: #17364
* Help: Update Sphinx versionadded directives for 3.22 releaseBrad King2021-10-071-0/+2
| | | | | | | | | Run the script: Utilities/Sphinx/update_versions.py --since v3.21.0 --overwrite Manually select updates that really belong to the 3.22 release, as against adding documentation for previously-existing entities.
* Help: Document HIP standard/extensions properties and variablesRaul Tambre2021-09-283-0/+86
|
* Help: Generic language standard and extension variables documentationRaul Tambre2021-09-283-0/+75
| | | | | | Add generic documentation to improve the discoverability of language-specific ones and to make it possible to refer to them generically from other language generic documentation.
* Help: Mention that Qt6 is supported by AUTOGENJoerg Bornemann2021-09-063-10/+13
| | | Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* Merge topic 'LWYU-externalization'Brad King2021-07-121-9/+15
|\ | | | | | | | | | | | | | | | | 14e57e9637 LINK_WHAT_YOU_USE feature: externalize configuration 9c5132a586 PGI: Fix "LINKER:" prefix generated separator 8a93de080c cmGeneratorTarget: Add method for LINKER: prefix translation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6306
| * LINK_WHAT_YOU_USE feature: externalize configurationMarc Chevrier2021-07-091-9/+15
| | | | | | | | | | | | | | | | Currently, this feature is only supported on ELF platforms. So, the property LINK_WHAT_YOU_USE will be ignored for other plateforms. Moreover, flags and commands are now controled by CMake variables. Fixes: #20174
* | Merge topic 'doc-lang-std'Brad King2021-07-083-3/+54
|\ \ | |/ |/| | | | | | | | | | | | | d69b46bf01 Help: Document when CUDA_STANDARD values were added bdb59839b9 Help: Document when OBJCXX_STANDARD values were added 627aca946b Help: Document when OBJC_STANDARD values as definition list Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6321
| * Help: Document when CUDA_STANDARD values were addedBrad King2021-07-081-1/+23
| | | | | | | | | | | | | | | | Note that some CUDA C++ language standard levels were added before any compilers actually supported them. In such cases, the value of `CUDA_STANDARD` gracefully degrades to the highest supported by the compiler (unless `CUDA_STANDARD_REQUIRED` is enabled). Therefore we can document support for each value based on when CMake learned of it.