summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt
Commit message (Collapse)AuthorAgeFilesLines
...
* VERIFY_INTERFACE_HEADER_SETS: Add property for list of header setsKyle Edwards2022-05-252-0/+16
| | | | | | | | Add a new property, INTERFACE_HEADER_SETS_TO_VERIFY, which contains a list of header sets that should be verified by VERIFY_INTERFACE_HEADER_SETS. Fixes: #23522
* VERIFY_HEADER_SETS: Rename to VERIFY_INTERFACE_HEADER_SETSKyle Edwards2022-05-182-25/+25
| | | | Issue: #23448
* Merge topic 'werror-property'Brad King2022-05-101-0/+10
|\ | | | | | | | | | | | | | | | | 76a08cd253 COMPILE_WARNING_AS_ERROR: Add options to treat warnings as errors Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Michael Hirsch <michael@scivision.dev> Merge-request: !7187
| * COMPILE_WARNING_AS_ERROR: Add options to treat warnings as errorsMartin Duffy2022-05-061-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Add `COMPILE_WARNING_AS_ERROR` target property and supporting `CMAKE_COMPILE_WARNING_AS_ERROR` variable. `COMPILE_WARNING_AS_ERROR` is initialized by `CMAKE_COMPILE_WARNING_AS_ERROR`. It is a boolean variable. If it is true, it expands to a different flag depending on the compiler such that any warnings at compile will be treated as errors. Supports compiler ids that I could find a relevant flag for.
* | OpenWatcom: Support CMAKE_WATCOM_RUNTIME_LIBRARY with Linux and OS/2 buildsCameron Cawley2022-05-062-3/+6
| |
* | OpenWatcom: Allow specifying the runtime libraryCameron Cawley2022-05-062-0/+51
| | | | | | | | | | | | | | | | Add a `CMAKE_WATCOM_RUNTIME_LIBRARY` variable to control the runtime library selection. Add policy CMP0136 to switch to in place of the old hard-coded default flags. Fixes: #23178
* | VERIFY_HEADER_SETS: Clarify that header sets must be PUBLIC or INTERFACEKyle Edwards2022-04-211-8/+9
| |
* | Merge topic 'vs-dotnet-startup-object'Brad King2022-04-201-0/+21
|\ \ | | | | | | | | | | | | | | | | | | d89af11f89 VS: Add StartupObject property for managed .NET projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7171
| * | VS: Add StartupObject property for managed .NET projectsFlorian Schweiger2022-04-121-0/+21
| |/
* | Merge topic 'file-set-repr-improvements'Brad King2022-04-122-11/+10
|\ \ | |/ |/| | | | | | | | | | | | | 5fa15ec9f3 Help: Document that target_sources defines [INTERFACE_]HEADER_SETS c5d4812f20 cmTarget: make HEADER_SETS and INTERFACE_HEADER_SETS read-only 05783b168d cmFileSet: store visibility with the fileset Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7168
| * Help: Document that target_sources defines [INTERFACE_]HEADER_SETSBrad King2022-04-122-0/+6
| |
| * cmTarget: make HEADER_SETS and INTERFACE_HEADER_SETS read-onlyBen Boeckel2022-04-112-13/+6
| | | | | | | | | | | | There is no reason to allow these properties to be manipulated by user code. Instead, use the stored visibility on the fileset objects to derive what these properties should contain.
| * Revert INTERFACE_LINK_LIBRARIES_DIRECT feature for 3.23 branchBrad King2022-03-215-277/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit f3ad061858 (Add usage requirements to update direct link dependencies, 2022-01-12, v3.23.0-rc1~44^2) and the property storage updates in its predecessor commit 193a999cd5 (cmTarget: Add INTERFACE_LINK_LIBRARIES_DIRECT{,_EXCLUDE} backtrace storage, 2022-01-06, v3.23.0-rc1~44^2~1) from the 3.23 release branch. After initial experience using the feature in practice, additional design considerations have been raised for discussion in the original issue. To avoid rushing this for the 3.23 series, we've decided to revert the feature for now so it can be revised for a future release. Issue: #22496
* | xcode: add support for xcconfig filesGregor Jasny2022-04-031-0/+14
| | | | | | | | Fixes: #18420
* | FILE_SET: Add VERIFY_HEADER_SETS target propertyKyle Edwards2022-03-291-0/+24
| | | | | | | | Fixes: #23338
* | INTERFACE_LINK_LIBRARIES_DIRECT: Honor link dependencies through LINK_ONLYBrad King2022-03-221-11/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit f3ad061858 (Add usage requirements to update direct link dependencies, 2022-01-12, v3.23.0-rc1~44^2), we evaluated the transitive closure of `INTERFACE_LINK_LIBRARIES` as a non-linking usage requirement. That left out `INTERFACE_LINK_LIBRARIES_DIRECT` link dependencies that appear behind private dependencies of a static library, guarded by the `$<LINK_ONLY:...>` generator expression. At the time, that decision was intentional, in order to prevent arbitrary usage requirements from leaking out of `PRIVATE` dependencies. Since then, we've revised evaluation of `LINK_LIBRARIES` to distinguish between collecting link dependencies and other usage requirements. Use that information when following `INTERFACE_LINK_LIBRARIES` to collect the matching kind of requirements from `INTERFACE_LINK_LIBRARIES_DIRECT`. Fixes: #22496
* | Help: Update INTERFACE_LINK_LIBRARIES_DIRECT to be added in 3.24Brad King2022-03-222-2/+2
| | | | | | | | | | | | | | This feature has been reverted from the 3.23 release branch. Update its documentation and release note to target 3.24 instead. Issue: #22496
* | Merge topic 'doc-LINK_LIBRARIES_ONLY_TARGETS'Craig Scott2022-03-141-4/+3
|\ \ | |/ | | | | | | | | | | 95cdce829f Help: Fix typo and improve readability for LINK_LIBRARIES_ONLY_TARGETS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7068
| * 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