summaryrefslogtreecommitdiff
path: root/Help/manual
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | Merge topic 'use-linker-depfile'Brad King2023-05-041-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 375e6fdbbe Link step: use linker dependency linker file 24a3e5cda0 cmLocalGenerator::MayBeRelativeToWorkDir: take care of all cases Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8443
| * | Link step: use linker dependency linker fileMarc Chevrier2023-05-031-0/+1
| | | | | | | | | | | | | | | | | | Based on work done by @ben.boeckel (!8051) Fixes: #22217
* | | Merge topic 'autogen-system-include'Brad King2023-05-043-0/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 7bf4e30090 Autogen: Default AUTOGEN_USE_SYSTEM_INCLUDE to ON if it is not set 033dc7ee2f Autogen: Add AUTOGEN_USE_SYSTEM_INCLUDE target property 8ba16db163 Tests/RunCMake: Add option for dynamic expected output Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8400
| * | Autogen: Default AUTOGEN_USE_SYSTEM_INCLUDE to ON if it is not setOrkun Tokdemir2023-05-031-0/+1
| | | | | | | | | | | | Add policy CMP0151 to preserve the old behavior by default.
| * | Autogen: Add AUTOGEN_USE_SYSTEM_INCLUDE target propertyOrkun Tokdemir2023-05-032-0/+2
| | | | | | | | | | | | | | | | | | | | | `AUTOGEN_USE_SYSTEM_INCLUDE` was added. `AUTOGEN_USE_SYSTEM_INCLUDE` is a boolean property that can be set on a target to indicate that the autogen target include directory should be added as a system include directory or normal include directory to the target.
* | | Merge topic 'vs-debugger-init'Brad King2023-05-021-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 35566b48b4 VS: Add variables to initialize debugger-related properties Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8445
| * | | VS: Add variables to initialize debugger-related propertiesAlex Neundorf2023-05-011-0/+4
| |/ / | | | | | | | | | | | | | | | Add variables to initialize target properties `VS_DEBUGGER_COMMAND`, `VS_DEBUGGER_COMMAND_ARGUMENTS`, `VS_DEBUGGER_ENVIRONMENT`, and `VS_DEBUGGER_WORKING_DIRECTORY`.
* | | Merge topic 'doc-xref-find-env-vars'Brad King2023-05-021-0/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c584882b26 Help: change links to point to the env.vars, not to the cmake vars e40d4eb644 Help: add documentation for some CMAKE_XXX_PATH env.vars 73ce0b792f Help: minor improvement for the CMAKE_PREFIX_PATH docs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8444
| * | | Help: add documentation for some CMAKE_XXX_PATH env.varsAlex Neundorf2023-05-011-0/+5
| |/ / | | | | | | | | | | | | | | | | | | This patch adds basic documentation for the CMAKE_INCLUDE_PATH, CMAKE_LIBRARY_PATH, CMAKE_PROGRAM_PATH, CMAKE_APPBUNDLE_PATH and CMAKE_FRAMEWORK_PATH environment variables and links to the respective cmake variables and vice versa.
* | | CPack: Add Inno Setup generatorJannik Alber2023-04-281-0/+1
|/ /
* | Merge topic 'ExternalProject-relative-git-urls'Craig Scott2023-04-271-0/+1
|\ \ | | | | | | | | | | | | | | | | | | 550f63447d ExternalProject/FetchContent: Support relative remote URLs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7988
| * | ExternalProject/FetchContent: Support relative remote URLsChris Wright2023-04-261-0/+1
| |/ | | | | | | | | | | | | | | | | Teach `ExternalProject_Add` and `FetchContent_Declare` to resolve relative remote URLs provided via `GIT_REPOSITORY`. Add policy CMP0150 to maintain compatibility. Fixes: #24211 Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* | presets: add support for macro expansion to includesZoran Angelov2023-04-261-0/+3
| | | | | | | | Only `$penv{}` can be expanded when processing includes.
* | Merge topic 'GenEx-list'Marc Chevrier2023-04-201-2/+262
|\ \ | | | | | | | | | | | | | | | | | | 31675964e7 GenEx LIST: list operations Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8410
| * | GenEx LIST: list operationsMarc Chevrier2023-04-161-2/+262
| |/ | | | | | | Fixes: #24550, #24547
* | Help: Add missing vendor field to the workflow presets docsCraig Scott2023-04-151-0/+6
|/ | | | | | | The JSON schema already allows a vendor field for workflow presets, but it was missed in the documentation. There is no change in behavior or support, this just fixes an oversight in the docs when the workflow presets were originally added.
* Merge topic 'automoc-macro-names'Craig Scott2023-04-101-0/+1
|\ | | | | | | | | | | | | | | | | | | | | c5c3aff1f5 Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES target property 69cf9700e6 Autogen: Defer setup until Generate step 7cecb6353e cmGeneratorTarget: Factor out EvaluatedTargetProperty infrastructure 2daba01ddf cmGeneratorTarget: Avoid incidental include-what-you-use warning 850b4d990c IWYU: Add mapping for 'std::remove_reference<Defer &>::type' Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8391
| * Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES target propertyOrkun Tokdemir2023-04-091-0/+1
| | | | | | | | | | | | | | | | | | | | Add this target property to specify macro names that propagate to dependents as `AUTOMOC_MACRO_NAMES`. The dependents will automatically generate MOC files for source files that contain the inherited macro names. Co-Authored-By: Craig Scott <craig.scott@crascit.com> Fixes: #19679
* | VS: Select latest available Windows SDK version by defaultBrad King2023-04-051-0/+1
| | | | | | | | | | | | | | Add policy `CMP0149` to stop preferring SDKs exactly matching `CMAKE_SYSTEM_VERSION` over the latest SDK. Fixes: #16202
* | VS: Add CMAKE_GENERATOR_PLATFORM field to control Windows SDK selectionBrad King2023-04-051-4/+5
|/ | | | | | | Add a `version=` field to explicitly control the SDK version selection without relying on `CMAKE_SYSTEM_VERSION`. Fixes: #16713
* Merge topic 'remove-FindPythonInterp-FindPythonLibs'Brad King2023-03-311-0/+1
|\ | | | | | | | | | | | | | | a4c5b91f80 FindPython{Interp,Libs}: Add policy to remove these modules Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8380
| * FindPython{Interp,Libs}: Add policy to remove these modulesBrad King2023-03-301-0/+1
| | | | | | | | | | | | The `FindPythonInterp` and `FindPythonLibs` modules have been deprecated since CMake 3.12. Add a policy to pretend they do not exist in order to encourage projects to port to `FindPython` or `FindPython{2,3}`.
* | presets: Add trace options to configure presetsArtin Alavi2023-03-302-0/+156
|/ | | | | | Add JSON schema version 7 to support them. Fixes: #22543
* Merge topic 'autogen-exe-vars'Brad King2023-03-231-0/+3
|\ | | | | | | | | | | | | b3d1797508 Autogen: Add CMAKE_AUTO*_EXECUTABLE variables Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8352
| * Autogen: Add CMAKE_AUTO*_EXECUTABLE variablesOrkun Tokdemir2023-03-221-0/+3
| | | | | | | | | | | | | | | | Add the `CMAKE_AUTOMOC_EXECUTABLE`, `CMAKE_AUTOUIC_EXECUTABLE`, and `CMAKE_AUTORCC_EXECUTABLE` variables to initialize the corresponding `AUTO{MOC,UIC,RCC}_EXECUTABLE` target properties. Fixes: #20071
* | Merge topic 'vs-windows-min-version'Brad King2023-03-161-0/+1
|\ \ | | | | | | | | | | | | | | | | | | 6546305b01 VS: Add CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8319
| * | VS: Add CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION variablehalx992023-03-151-0/+1
| | | | | | | | | | | | | | | | | | Provide a way to initialize the `VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION` target property on targets. It sets `WindowsTargetPlatformMinVersion` in `.vcxproj` files.
* | | Merge topic 'doc_varreq'Brad King2023-03-161-1/+1
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 9e1b30121f Help:toolchain: refer to CheckSourceCompiles cf48022dc5 Help:Check*: include CMAKE_REQUIRED_* vars to dedupe Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8300
| * | Help:toolchain: refer to CheckSourceCompilesscivision2023-03-141-1/+1
| | |
* | | Merge topic 'genex-explicit-target'Brad King2023-03-141-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2e37a20f02 Utilities/Sphinx: Allow explicit target for genex Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !8321
| * | | 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 'recursion-limit'Brad King2023-03-141-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 49167cf68f Source: Adjust stack sizes and recursion limits to work together 9504cef8c4 Tests: Allow RunCMake.MaxRecursionDepth to test public-facing default limit 60ef076bac find_package: Enforce maximum nesting depth below maximum recursion depth 89b69bf1ad Add CMAKE_MAXIMUM_RECURSION_DEPTH environment variable 395895bda7 cmMakefile: Factor out helper to get recursion depth limit 88bc8dfc14 cmMakefile: Store recursion depth limit as size_t fcad8d0630 cmMakefile: Improve parsing of CMAKE_MAXIMUM_RECURSION_DEPTH variable 497f7d5c1a Tests: Simplify option passing to RunCMake.MaxRecursionDepth cases Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8307
| * | | Add CMAKE_MAXIMUM_RECURSION_DEPTH environment variableBrad King2023-03-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the recursion limit controls added by commit a6982cff0d (cmMakefile: Impose maximum recursion limit, 2018-12-14, v3.14.0-rc1~82^2) with an environment variable that is used if the CMake variable of the same name is not set.
* | | | Merge topic 'support_cubin_fatbin_optix_cuda_output'Brad King2023-03-141-0/+3
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 2def6a874b CUDA: Add support for CUBIN, FATBIN, and OPTIXIR compilation Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8259
| * | | CUDA: Add support for CUBIN, FATBIN, and OPTIXIR compilationRobert Maynard2023-03-131-0/+3
| | | |
* | | | VS: Add policy to build custom commands concurrentlyBrad King2023-03-121-0/+1
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 33c15ae2b9 (VS: Build custom commands concurrently when possible, 2023-01-19, v3.26.0-rc1~56^2) we added `BuildInParallel` to custom commands in `.vcxproj` files, but that had to be reverted by commit abb1c12162 (VS: Revert "Build custom commands concurrently when possible", 2023-03-07, v3.26.0-rc6~3^2) because some projects may have custom commands that accidentally rely on serial execution in MSBuild. Add a policy to use `BuildInParallel` for custom commands in projects that have been updated to set the policy to `NEW`. Fixes: #18405
* | | FindCUDA: Add policy to remove this moduleBrad King2023-03-091-0/+1
| |/ |/| | | | | | | | | The `FindCUDA` module has been deprecated since CMake 3.10. Add a policy to pretend it doesn't exist in order to encourage projects to port away from it.
* | Apple: text-based stubs: manage imported configurations mappingMarc Chevrier2023-03-051-0/+2
| |
* | Merge topic 'doc-block'Brad King2023-03-031-0/+3
|\ \ | | | | | | | | | | | | | | | | | | 2931f078dc Help:cmake-language: note new block() command scope Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8276
| * | Help:cmake-language: note new block() command scopescivision2023-03-021-0/+3
| | |
* | | 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
| | | |
* | | | Merge topic 'Apple-handle-Text-Stubs'Brad King2023-03-023-3/+254
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | ede33f30cf Apple: Handle generation and comsuption of text-based stubs (.tbd files) fcbd723a50 Enhance support functions Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !8204
| * | | Apple: Handle generation and comsuption of text-based stubs (.tbd files)Marc Chevrier2023-03-013-3/+254
| | | | | | | | | | | | | | | | Fixes: #24123
* | | | Dart,FindDart: Add policy to remove these modulesBrad King2023-02-281-0/+1
| | | | | | | | | | | | | | | | | | | | These modules and the "DART" tool they support have long been replaced by CTest.
* | | | Merge topic 'dll-name-soversion'Brad King2023-02-282-0/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a7f9c7da26 Add option to add SOVERSION to DLL names 9694504adc Tests: Simplify RunCMake.TargetArtifacts spec 3cd34eb279 Tests: Rename RunCMake.{ArtifactOutputDirs => TargetArtifacts} Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8021
| * | | Add option to add SOVERSION to DLL namesRalf Habacker2023-02-272-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add variable/target property `[CMAKE_]DLL_NAME_WITH_SOVERSION`. Fixes: #24251 Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>