summaryrefslogtreecommitdiffstats
path: root/Help/manual
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'file-api-query-command'Brad King2023-06-052-0/+7
|\ | | | | | | | | | | | | | | 99b2ccf80d cmake_file_api: New project command Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8530
| * cmake_file_api: New project commandCraig Scott2023-06-052-0/+7
| | | | | | | | | | | | | | | | Projects can use the new command to request file API replies for the current run. No query files are generated, the query is tracked internally. Replies are created in the file system at generation time in the usual way. Fixes: #24951
* | Merge topic 'ctest-timeout-signal'Brad King2023-06-051-0/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | 54c5654f7d ctest: Optionally terminate tests with a custom signal on timeout e38c05688e CTest/cmProcess: Adopt field tracking reason for the process timeout 25c1468314 cmCTestTestHandler: Remove outdated comment 41e8507ab7 IWYU: Add mapping for bits/chrono.h to chrono Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8472
| * ctest: Optionally terminate tests with a custom signal on timeoutBrad King2023-06-021-0/+2
| | | | | | | | | | | | | | | | CTest normally terminates test processes on timeout using `SIGKILL`. Offer tests a chance to exit gracefully, on platforms supporting POSIX signals, by setting `TIMEOUT_SIGNAL_{NAME,GRACE_PERIOD}` properties. Fixes: #17288
* | cxxmodules: remove support for `CXX_MODULE_HEADER_UNITS` filesetsBen Boeckel2023-05-311-6/+0
|/ | | | | There's no backing implementation for header units anyways, so just remove it for now.
* cmake: Add debuggerGlen Chung2023-05-301-0/+53
| | | | | | | | | | | | | | | | - Depends on cppdap and jsoncpp. - Add --debugger argument to enable the Debugger. - Add --debugger-pipe argument for DAP traffics over named pipes. - Support breakpoints by filenames and line numbers. - Support exception breakpoints. - Call stack shows filenames and line numbers. - Show Cache Variables. - Show the state of currently defined targets, tests and directories with their properties. - Add cmakeVersion to DAP initialize response. - Include unit tests. Co-authored-by: Ben McMorran <bemcmorr@microsoft.com>
* Optionally exclude implicit link directories via environmentBrad King2023-05-251-0/+1
| | | | | | | | A misconfigured compiler may pass extraneous implicit link directories to its linker. If they are in `CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES`, CMake may generate extra `-L` flags on mixed-language link lines that break linking. Add an environment variable that users can set to work around such misconfiguration of their compilers.
* Merge topic 'FileAPI-framework'Brad King2023-05-221-1/+23
|\ | | | | | | | | | | | | | | b3a6a11e95 fileapi: Extend codemodel targets/compileGroups with Apple frameworks Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8489
| * fileapi: Extend codemodel targets/compileGroups with Apple frameworksMarc Chevrier2023-05-191-1/+23
| | | | | | | | Fixes: #19897
* | Help: Wording, formatting and ordering fixes for SKIP_LINTING docsCraig Scott2023-05-191-1/+1
| | | | | | | | | | Amends b480315e0c2 (TargetGenerator: Add SKIP_LINTING source property, 2023-05-12).
* | TargetGenerator: Add SKIP_LINTING source propertyOrkun Tokdemir2023-05-161-0/+1
|/ | | | | | | The `SKIP_LINTING` source property was added to disable code check for desired source files. The `SKIP_LINTING`includes `cpplint`, `clang-tidy`, \ `cppcheck` and `include-what-you-use`. If `SKIP_LINTING` is set on a source file, the tools mentioned above will not be run on that source file.
* 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