summaryrefslogtreecommitdiffstats
path: root/Help/manual
Commit message (Collapse)AuthorAgeFilesLines
* Revert INTERFACE_LINK_LIBRARIES_DIRECT feature for 3.23 branchBrad King2022-03-211-2/+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
* Help: Document warning about multiple source pathsBrad King2022-03-181-0/+7
| | | | | | | | Although passing multiple source paths was never documented, it was not diagnosed by CMake 3.22 and below. In CMake 3.23 we now diagnose extra paths and warn. Document this change and add a release note. Issue: #23334
* Help: Document cmake source and binary dir selection rulesRobert Maynard2022-03-171-0/+20
| | | | Co-authored-by: Brad King <brad.king@kitware.com>
* Help: Add advice for dealing with semicolons in listsBrad King2022-03-151-0/+42
| | | | Issue: #23315
* Merge topic 'cmake-presets-file-dir' into release-3.23Brad King2022-03-081-0/+5
|\ | | | | | | | | | | | | | | | | f54507c2f6 CMakePresets.json: Add ${fileDir} macro Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Gerhard Olsson <gerhard.nospam@gmail.com> Merge-request: !7051
| * CMakePresets.json: Add ${fileDir} macroKyle Edwards2022-03-071-0/+5
| | | | | | | | Fixes: #23214
* | Help: Document explicitly that 'cxx_std_##' features may not add a flagBrad King2022-03-071-0/+2
|/ | | | | This is commonly reported incorrectly as a bug, so call out this behavior explicitly in the documentation.
* Help: Improve wording and structure related to preset includesCraig Scott2022-03-022-43/+69
| | | | | | | | | | | Encourage placing preset includes near the beginning of a preset file and ensure the example shows that usage. Move the prose discussing includes to its own section to improve discoverability and break up paragraphs to make each main point harder to miss. Also clarify ${sourceDir} to remove any ambiguity with regard to its meaning in included files. Issue: #23214
* Help: Clarify how package resolve mode is intended to be usedCarsten Rudolph2022-02-152-7/+8
| | | | Fixes: #23223
* cmake --build: prioritize --resolve-package-references over presetCarsten Rudolph2022-02-152-18/+16
| | | | Fixes: #23224
* Merge topic 'doc-example-package-components' into release-3.23Brad King2022-02-151-2/+2
|\ | | | | | | | | | | | | 5317015e68 Help: use package-specific var for supported component list Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6975
| * Help: use package-specific var for supported component listConnor Imes2022-02-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Always using `_supported_components` causes conflicts when transitive dependencies also set this variable, e.g., because the developers followed these code samples. An even more general approach could be to set `_${CMAKE_FIND_PACKAGE_NAME}_supported_components` instead, but such a change should then be applied to other variables for consistency. Fixes: #23112
* | Merge topic 'doc-no-versioned-soname' into release-3.23Brad King2022-02-151-0/+1
|\ \ | |/ |/| | | | | | | | | 3f7e6b3fd4 Help: Document CMAKE_PLATFORM_NO_VERSIONED_SONAME Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6978
| * Help: Document CMAKE_PLATFORM_NO_VERSIONED_SONAMERalf Habacker2022-02-141-0/+1
| | | | | | | | | | | | | | This variable was added by commit 42f74df6d4 (Add basic Android platform module, 2014-06-06, v3.1.0-rc1~416^2), but was not previously documented. Fixes: #23227
* | Help: Fix typo and improve docs for --debug-find-pkg|var optionsCraig Scott2022-02-141-4/+5
|/ | | Amends d7b18895bc (cmake: Add filtered debug-find options, 2021-12-07)
* Help: add versionadded markup to cmake -E commandsPeter Würth2022-02-031-11/+109
|
* Merge topic 'doc-imported-no-system'Brad King2022-02-031-1/+3
|\ | | | | | | | | | | | | ec29a6a1a9 Help: Clarify documentation on SYSTEM include directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6942
| * Help: Clarify documentation on SYSTEM include directoriesBrad King2022-02-031-1/+3
| | | | | | | | | | | | | | | | 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`.
* | find_*(): Add CMAKE_IGNORE_PREFIX_PATH variableKyle Edwards2022-02-021-0/+2
|/ | | | Fixes: #20878
* Merge topic 'link-interface-direct'Brad King2022-01-311-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge topic 'vs-package-restore'Brad King2022-01-244-5/+117
|\ \ | |/ |/| | | | | | | | | | | | | | | 9aa7831f05 Presets: add resolve packages setting to build presets. b2f8f0bb87 cmGlobalVisualStudio10Generator: Auto restore NuGet packages. 193b8fca52 cmBuildOptions: Split build arguments into separate object. 6a10103493 Help: Update preset schema description for version 3 entries. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6761
| * Presets: add resolve packages setting to build presets.Carsten Rudolph2022-01-223-1/+101
| |
| * cmGlobalVisualStudio10Generator: Auto restore NuGet packages.Carsten Rudolph2022-01-222-0/+12
| |
| * Help: Update preset schema description for version 3 entries.Carsten Rudolph2022-01-211-4/+4
| |
* | Merge topic 'cmake-presets-include-outside-project-dir'Brad King2022-01-201-4/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 0c2d234bc9 CMakePresets: Allow files included from CMakePresets.json to be anywhere Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Gerhard Olsson <gerhard.nospam@gmail.com> Merge-request: !6867
| * | CMakePresets: Allow files included from CMakePresets.json to be anywhereKyle Edwards2022-01-191-4/+3
| | | | | | | | | | | | | | | | | | There are some valid use cases for allowing these files to be outside the project directory. Relax the restriction, and include a strong warning in the documentation.
* | | Help: Move linker preference variables to the internal sectionCraig Scott2022-01-151-2/+2
|/ / | | | | | | | | | | | | These probably should not have been documented as public variables to begin with. But since they have been documented for a long time, we can't just remove them from the docs. Move them to the internal section instead to make it clearer that they are not intended to be used directly by projects.
* | Merge topic 'ide_guide'Brad King2022-01-131-0/+2
|\ \ | |/ |/| | | | | | | | | 6a5936c596 Help: Add IDE Integration Guide section on IDEs supporting CMake Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6851
| * Help: Add IDE Integration Guide section on IDEs supporting CMakeSemyon Kolton2022-01-121-0/+2
| |
* | CMakePresets: Add include fieldKyle Edwards2022-01-073-4/+48
| | | | | | | | Fixes: #21331
* | Merge topic 'vs-csharp-dotnet-sdk'Brad King2021-12-222-0/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 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-212-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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-202-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | cmake: Add filtered debug-find optionsJohn Parent2021-12-171-0/+14
|/ / | | | | | | | | | | | | | | | | | | Add a `--debug-find-pkg=` option to debug find calls for specific packages. Add a `--debug-find-var=` option to debug find calls for specific return variables. Fixes: #21880
* | GHS: GHSMULTI - Update documentation to match implementationFred Baksik2021-11-151-1/+1
| | | | | | | | * The variable being set was named `GHSMULTI` not `GHS-MULTI`.
* | Merge topic 'doc-tests-labels-dynamic'Brad King2021-11-151-0/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | 250acbb099 Help: Improve cross-referencing of test LABELS and related features a77bdefa3e Help: Add missing version details for Additional Test Measurements Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6726
| * | Help: Improve cross-referencing of test LABELS and related featuresCraig Scott2021-11-131-0/+4
| | |
* | | Merge topic 'xcode-generation-enablegpuframecapturemode'Brad King2021-11-122-0/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'doc-preset-inheritance'Brad King2021-11-091-3/+3
|\ \ \ \ | | |/ / | |/| / | |_|/ |/| | | | | | | | 6dc6412477 Help: Use stronger wording in rule about preset inheritance Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6710
| * | Help: Use stronger wording in rule about preset inheritanceYonggang Luo2021-11-081-3/+3
| | |
| * | Merge topic 'vs-framework-version' into release-3.22Brad King2021-11-081-0/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d51246c662 VS: Default TargetFrameworkVersion to v4.7.2 for VS 2022 f97f8537f3 VS: Model a default target framework e40cedddc0 cmVisualStudio10TargetGenerator: Refactor target framework selection 78782cc7dc cmGlobalVisualStudio8Generator: Refactor SetGeneratorPlatform Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6699
| * \ \ Merge topic 'doc-TARGET_RUNTIME_DLLS' into release-3.22Brad King2021-11-041-1/+10
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 001870d451 Help: Clarify TARGET_RUNTIME_DLLS behavior on imported targets Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !6700
* | \ \ \ Merge topic 'vs-framework-version'Brad King2021-11-081-0/+3
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d51246c662 VS: Default TargetFrameworkVersion to v4.7.2 for VS 2022 f97f8537f3 VS: Model a default target framework e40cedddc0 cmVisualStudio10TargetGenerator: Refactor target framework selection 78782cc7dc cmGlobalVisualStudio8Generator: Refactor SetGeneratorPlatform Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6699
| * | | | VS: Model a default target frameworkBrad King2021-11-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add fields to the VS generator to select a target framework. Migrate the existing default for VS 12 .NET CF for Windows CE. Report the values in `CMAKE_VS_*` variables and use them for the CSharp compiler id project too. Issue: #22849
* | | | | Merge topic 'doc-TARGET_RUNTIME_DLLS'Brad King2021-11-041-1/+10
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 001870d451 Help: Clarify TARGET_RUNTIME_DLLS behavior on imported targets Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !6700
| * | | | Help: Clarify TARGET_RUNTIME_DLLS behavior on imported targetsBrad King2021-11-031-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This generator expression does not report the locations of `.dll` files on imported targets with the `UNKNWON` type, since their `IMPORTED_LOCATION` refers to the import library and not the DLL. Fixes: #22845
* | | | | Merge topic 'help_cmake_lang_extensions_default'Brad King2021-11-031-3/+3
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | 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-021-3/+3
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.