summaryrefslogtreecommitdiffstats
path: root/Help
Commit message (Collapse)AuthorAgeFilesLines
* VS: Add support for add_custom_command DEPFILEBrad King2021-06-092-4/+7
| | | | | | | | Transform the depfile into MSBuild `AdditionalInputs` content. Add MSBuild Targets to update `AdditionalInputs` and the `.tlog` files for future builds without actually modifying the `.vcxproj` file. Fixes: #20286
* Help: Generalize release note filename for add_custom_command DEPFILEBrad King2021-06-092-5/+5
| | | | | Rename the note added by commit d67cc4882d (Xcode: Add support of DEPFILE for add_custom_command, 2021-04-15) to be more general.
* Merge topic 'install-with-runtime-dependencies'Brad King2021-06-084-2/+144
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8d898cb3e1 FileAPI: Add integration for runtime dependency installers 72f2448e82 Help: Add documentation for runtime dependency installation 0c3c6acaff Tests: Add tests for new options 4910132d8c install: Add RUNTIME_DEPENDENCY_SET mode bc8a4a06a4 install(IMPORTED_RUNTIME_ARTIFACTS): Add RUNTIME_DEPENDENCY_SET option 3e7d3c252a install(TARGETS): Add RUNTIME_DEPENDENCY_SET argument ed3633d88c install(TARGETS): Add RUNTIME_DEPENDENCIES option f2617cf8e6 Source: Add cmInstallRuntimeDependencySet ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6186
| * FileAPI: Add integration for runtime dependency installersKyle Edwards2021-06-041-0/+24
| |
| * Help: Add documentation for runtime dependency installationKyle Edwards2021-06-043-2/+120
| |
* | Merge topic 'compile-options-order'Brad King2021-06-086-10/+33
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8f68bcad8f Tests: Add cases verifying flag ordering rules ccc83ce162 Help: Document order of flags from CMAKE_<LANG>_FLAGS and COMPILE_OPTIONS df79fe055b Help: Remove incorrect "versionadded" for CMAKE_<LANG>_FLAGS_<CONFIG> c48d2d8480 VS: Place per-source preprocessor definitions after target-wide ones Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6187
| * | Help: Document order of flags from CMAKE_<LANG>_FLAGS and COMPILE_OPTIONSBrad King2021-06-035-8/+26
| | |
| * | Help: Remove incorrect "versionadded" for CMAKE_<LANG>_FLAGS_<CONFIG>Brad King2021-06-031-2/+0
| | | | | | | | | | | | | | | These variables have been around for a long time, but the current form of the document was added later.
| * | VS: Place per-source preprocessor definitions after target-wide onesBrad King2021-06-031-0/+7
| |/ | | | | | | | | | | | | | | | | | | When the VS 2010+ generators were first implemented in commit 7491f52992 (ENH: first pass at VS 10, can bootstrap CMake, but many tests still fail, 2009-06-25, v2.8.0~546), the per-source preprocessor definitions were placed before target-wide preprocessor definitions for consistency with the behavior of VS 9 2008 and below. However, those generators are not used much anymore. Instead prefer consistency with the order used by the Ninja and Makefile generators.
* | Merge topic 'cpack-deb-minor-fixes'Brad King2021-06-081-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | ed1f3a5fa5 CPackDeb: output the error message when no description can be made ece24b343a Help/cpack_gen/freebsd: improve wording for Debian fallbacks Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !6196
| * | Help/cpack_gen/freebsd: improve wording for Debian fallbacksBen Boeckel2021-06-071-2/+2
| | | | | | | | | | | | | | | Documentation should describe what happens, and "we may as well" seems way too conversational.
* | | Help: Remove recommendations for using CMAKE_CFG_INTDIRCraig Scott2021-06-062-14/+14
|/ / | | | | | | | | | | Commit e71c4f7729 (CMAKE_CFG_INTDIR: Formally deprecate in favor of $<CONFIG>, 2021-05-27) only updated the docs for CMAKE_CFG_INTDIR itself, but other parts of the docs still used it. Update the other places to avoid referring to the now-deprecated variable.
* | cmake: Allow CMAKE_TOOLCHAIN_FILE to be set by environment variableBrad King2021-06-034-0/+21
|/ | | | | When no `CMAKE_TOOLCHAIN_FILE` is explicitly specified while creating a new build tree, check for an environment variable of the same name.
* Merge topic 'find_item-NO_CACHE'Brad King2021-06-032-2/+25
|\ | | | | | | | | | | | | | | 87b71eec62 find_*: Add support for option NO_CACHE Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !6181
| * find_*: Add support for option NO_CACHEMarc Chevrier2021-06-022-2/+25
| | | | | | | | | | | | | | | | Request that find result is stored in a normal variable rather than a cache entry. Fixes: #20687 Issue: #20743
* | Merge topic 'doc_regex'Brad King2021-06-035-6/+10
|\ \ | | | | | | | | | | | | | | | | | | 0d210b92fa Help: links to CMake regex syntax Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6179
| * | Help: links to CMake regex syntaxMichael Hirsch2021-06-025-6/+10
| | |
* | | Help: Clarify default value of CMAKE_CONFIGURATION_TYPES for NMCKyle Edwards2021-06-021-1/+3
| | | | | | | | | | | | Fixes: #22266
* | | Merge topic 'command_target'Brad King2021-06-022-0/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 1cb4f592a0 add_custom_command: Target-dependent generator expression support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6176
| * | | add_custom_command: Target-dependent generator expression supportRaul Tambre2021-05-312-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OUTPUT variant with a TARGET given to allow resolving target-based generator expressions wouldn't work because OUTPUT is resolved before generator targets are created, i.e. FindGeneratorTargetToUse() returns nullptr. This is a known limitation, see #21364. Implements #21336.
* | | | Merge topic 'get-runtime-dependencies-file-filter'Brad King2021-06-022-8/+29
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | a12639e658 file(GET_RUNTIME_DEPENDENCIES): Add POST_{IN,EX}CLUDE_FILES arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6170
| * | | file(GET_RUNTIME_DEPENDENCIES): Add POST_{IN,EX}CLUDE_FILES argumentsKyle Edwards2021-06-012-8/+29
| | | |
* | | | Merge topic 'install-imported-runtime-artifacts'Brad King2021-06-013-0/+43
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f7ba3a0589 FileAPI: Populate information for IMPORTED_RUNTIME_ARTIFACTS df7040a271 install(): Add IMPORTED_RUNTIME_ARTIFACTS mode 60e752ced8 Refactor: Move common methods into cmInstallGenerator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6162
| * | | | FileAPI: Populate information for IMPORTED_RUNTIME_ARTIFACTSKyle Edwards2021-05-311-0/+5
| | | | |
| * | | | install(): Add IMPORTED_RUNTIME_ARTIFACTS modeKyle Edwards2021-05-312-0/+38
| | |/ / | |/| |
* | | | Merge topic 'link-objects-first'Brad King2021-06-012-0/+93
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3941555d93 target_link_libraries: Place $<TARGET_OBJECTS> before libraries f530b3a267 OpenWatcom: Add infrastructure to link to object files 8a4ca110e4 cmComputeLinkInformation: Improve type safety of item IsPath member 83ad066ed1 cmComputeTargetDepends: Factor out helper to add object library dependency 7f506b95a7 cmGeneratorTarget: Refactor link item lookup 96809a8541 cmGeneratorTarget: Give temporary link impl item an explicit name ddffbb8adb cmMakefile: Register explicit object sources more efficiently 18e42d3e63 cmGeneratorExpressionNode: Constify local variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6166
| * | | target_link_libraries: Place $<TARGET_OBJECTS> before librariesBrad King2021-05-292-0/+93
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Linkers always use object files explicitly specified on the command line regardless of where they appear. Move them to the front of the list of linked libraries in so that symbols required by the object files can be resolved by any library. Issue: #22149
* | | Launchers: Support setting linker launchersBobby D Reynolds2021-05-287-0/+50
|/ / | | | | | | Fixes: #18316
* | Merge topic 'doc-test-regex-v-exit-code'Brad King2021-05-283-2/+12
|\ \ | | | | | | | | | | | | | | | | | | 91b8676f8c Help: Clarify {PASS,FAIL}_REGULAR_EXPRESSION semantics w.r.t. exit code Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6165
| * | Help: Clarify {PASS,FAIL}_REGULAR_EXPRESSION semantics w.r.t. exit codeBrad King2021-05-273-2/+12
| |/ | | | | | | Also cross-reference them with each other and `SKIP_REGULAR_EXPRESSION`.
* | CMAKE_CFG_INTDIR: Formally deprecate in favor of $<CONFIG>Kyle Edwards2021-05-271-5/+6
|/
* Merge topic 'cpack-install-opts'Craig Scott2021-05-263-0/+49
|\ | | | | | | | | | | | | 26e36111d3 CPack: Implement new variable CPACK_CUSTOM_INSTALL_VARIABLES Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6141
| * CPack: Implement new variable CPACK_CUSTOM_INSTALL_VARIABLESNils Gladitz2021-05-233-0/+49
| | | | | | | | | | | | The new variable allows projects to define custom key=value pairs of variables to be set in CPack cmake_install.cmake script invocations. This allows install(SCRIPT|CODE) to be parameterized at runtime.
* | Ninja: Always compile sources using absolute pathsBrad King2021-05-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ninja generator traditionally referenced source files and include directories using paths relative to the build directory if they could be expressed without a `../` sequence that leaves the build and source directories. For example, when using a `build/` directory inside the source tree, sources would be compiled as `-c ../src.c` and include directories would be referenced as `-I ../include`. This approach matches the traditional Ninja convention of using relative paths whenever possible, but has undesirable side effects such as: * Compiler diagnostic messages may not use absolute paths, making it harder for IDEs/editors to find the referenced sources or headers. * Debug symbols may not use absolute paths, making it harder for debuggers to find the referenced sources or headers. * Different results depending on the path to the build tree relative to the source tree. * Inconsistent with the Makefile generators, which use absolute paths. Switch to always using absolute paths to reference source files and include directories on compiler command lines. While alternative solutions for diagnostic messages and debug symbols may exist with specific tooling, this is the simplest and most consistent approach. Note that a previous attempt to do this in commit 955c2a630a (Ninja: Use full path for all source files, 2016-08-05, v3.7.0-rc1~275^2) was reverted by commit 666ad1df2d (Revert "Ninja: Use full path for all source files", 2017-02-24, v3.8.0-rc2~9^2) due to problems hooking up depfile dependencies on generated files. This time, the changes in commit 2725ecff38 (Ninja: Handle depfiles with absolute paths to generated files, 2021-05-19) should avoid those problems. Fixes: #13894, #17450
* | Merge topic 'FindVulkan-add-Headers-glslangValidator-targets'Brad King2021-05-251-0/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | 668ba68a7a FindVulkan: add Vulkan::Headers and Vulkan::glslangValidator targets Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !6154
| * | FindVulkan: add Vulkan::Headers and Vulkan::glslangValidator targetsPCJohn2021-05-241-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `Vulkan::Headers` target complements existing Vulkan::Vulkan target. It is the same except it omits the Vulkan library which supports applications that loads the Vulkan library in at runtime. The `Vulkan::glslangValidator` target provides the glslangValidator executable which is the tool for converting between shader languages (GLSL, SPIR-V, etc.).
* | | Merge topic 'set-cache-keep-normal-variable'Brad King2021-05-254-3/+33
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | d96eb55282 set(CACHE): do not remove normal variable Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !6146
| * | set(CACHE): do not remove normal variableMarc Chevrier2021-05-204-3/+33
| | | | | | | | | | | | Fixes: #22038
* | | Merge topic 'message-color'Brad King2021-05-211-0/+4
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 0a0a0f8a74 cmMessenger: Color messages to terminal by type bceb8e2ed2 cmMessenger: Pass title inside a metadata structure Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6105
| * | cmMessenger: Color messages to terminal by typeMarius Messerschmidt2021-05-201-0/+4
| |/ | | | | | | Fixes: #16183
* | install: Implement new install(CODE|SCRIPT) option ALL_COMPONENTSNils Gladitz2021-05-193-1/+19
|/ | | | | | | | | | | In a per-component installation the generated installation scripts are invoked once for each component. Per default custom installation script code added by install(CODE|SCRIPT) only runs for one specific component in this context. The new ALL_COMPONENTS option allows custom script code to be run once for each component being installed.
* Merge topic 'doc-link-compile-options'Brad King2021-05-186-6/+25
|\ | | | | | | | | | | | | | | 2eba7d7524 Help: Add SHELL, LINKER and host/device discussions to property docs b20c1f4880 Help: Make SHELL option examples more generic Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6130
| * Help: Add SHELL, LINKER and host/device discussions to property docsCraig Scott2021-05-156-0/+18
| | | | | | | | | | | | Section headings are also added for each common block to help guide the reader and improve navigation. Fixes: #21640
| * Help: Make SHELL option examples more genericCraig Scott2021-05-151-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Comments at the bottom of the docs for add_compile_options() and target_compile_options() recommend using other commands if setting compiler definitions. Change the examples we use for the SHELL: functionality to use -option instead of -D so that we don't violate our own recommendations. This also makes the examples more appropriate for use with link options as well. Tweak the wording to not specify the type of option being discussed. This will already be clear from the page the text is included into and it avoids naming unrelated option types for the given page.
* | Help: Clarify calling cmake_minimum_required() inside a functionCraig Scott2021-05-152-3/+9
|/ | | Fixes: #21519
* cmScanDepFormat: Drop unused "outputs", "inputs", and "depends" fieldsBrad King2021-05-131-1/+4
| | | | | | | These fields are specified by our `P1689r3` paper, but are not actually needed. The dependencies of the scanning results themselves can be captured via normal depfile logic. Avoid saving this possibly-large information in the scanning results. It is not needed by later steps.
* Merge topic 'find_item-consistent-behavior-cache-variables'Brad King2021-05-133-0/+32
|\ | | | | | | | | | | | | | | | | 08db1341a6 find_*: ensure consistent behavior for cache variables f5fa6d53b0 class cmake: Store working directory at cmake launch b1729200c3 find_*: refactor cache variable handling Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6110
| * find_*: ensure consistent behavior for cache variablesMarc Chevrier2021-05-123-0/+32
| | | | | | | | Fixes: #22121
* | UseJava: Avoid non-word "compilability" in documentationBrad King2021-05-121-1/+1
|/ | | | | Also fix spelling in the release note from commit 3e03f359a7 (UseJava: Add RESOURCES with NAMESPACE to add_jar(), 2021-04-27).
* Merge topic 'helpctestscript'Brad King2021-05-112-0/+6
|\ | | | | | | | | | | | | 140fe8c3c6 Help: Document CTEST_SCRIPT_DIRECTORY variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6111