| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
6ff1217b9c Help: Add missing versionadded to *CROSSCOMPILING_EMULATOR
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7023
|
| |/
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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>*
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |/
| |
| |
| |
| |
| | |
To enable the management of incompatible $<LINK_LIBRARY> declarations,
add LINK_LIBRARY_OVERRIDE and LINK_LIBRARY_OVERRIDE_<LIBRARY> target
properties.
|
|/
|
|
| |
Resolves: #23179
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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`.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Document in each property its role in combination with the other.
|
|/
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| | |
Fixes: #22885
|
|/
|
|
| |
Also add a test case to verify it.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
Changes in cmVisualStudio10TargetGenerator::Generate to write .Net
SDK-style project for VS generators VS 19 and above. Also adds
documentation and tests.
Issue: #20227
|
|/
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
9e1e7dc7db Xcode: Add embedded plugins option
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6690
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This was accidentally left out of commit 4b0ee4e338 (Help: Add
documentation for target_sources(FILE_SET) and associated properties,
2021-07-02).
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | |/ /
| |/| |
| | | | |
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
|
|\ \ \ \
| |/ / /
|/| / /
| |/ /
| | |
| | |
| | | |
e9976c8827 Help: Better explain CMAKE_<LANG>_EXTENSIONS_DEFAULT
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6686
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | |/
| |/| |
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 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
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
| |
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|