summaryrefslogtreecommitdiffstats
path: root/Help/manual
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * 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
* | 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.
* | Help: gen expr: note that CONFIG is comma-separatedMichael Hirsch2021-10-191-2/+2
| |
* | Help: Add documentation for CMAKE_<LANG>_COMPILER_FRONTEND_VARIANTDeniz Bahadir2021-10-131-0/+1
| | | | | | | | Signed-off-by: Deniz Bahadir <deniz@code.bahadir.email>
* | Merge topic 'fetchcontent-CMAKE-vars-passthrough'Craig Scott2021-10-061-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 1851aa49be FetchContent: Pass through networking-related CMAKE_... variables 96937438b7 Help: Clean up how TLS and NETRC variables are discussed 2a82bd85b6 Help: Add documentation for CMAKE_TLS_CAINFO Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6589
| * | Help: Add documentation for CMAKE_TLS_CAINFOCraig Scott2021-10-041-0/+1
| | |
* | | cmStandardLevelResolver: Avoid unnecessary flags, fix unset level logicRaul Tambre2021-09-292-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The changes are part of CMP0128. When the standard level is unset: * Flags are added if extension mode doesn't match the compiler's default. Previously logic only worked if LANG_EXTENSIONS was ON. Fixes #22224. * The full flag is used. Previously CMAKE_LANG_EXTENSION_COMPILE_OPTION was used. This was only supported for IAR. Otherwise: * Avoid adding flags if not necessary per the detected compiler defaults. * Fixed check for when the requested standard is older. It now matches the nearby comments. I reworded the fallback comment as its logic was a bit difficult to wrap my head around.
* | | CompilerID: Compiler extensions default detectionRaul Tambre2021-09-281-0/+1
| | |
* | | Help: Document CMAKE_<LANG>_STANDARD_DEFAULTRaul Tambre2021-09-281-0/+1
| | | | | | | | | | | | Seems to be stable and will referred to by policy for standards flags rework.
* | | Help: Document HIP standard/extensions properties and variablesRaul Tambre2021-09-282-0/+6
| | |
* | | Help: Generic language standard and extension variables documentationRaul Tambre2021-09-282-0/+6
|/ / | | | | | | | | | | 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.
* | Merge topic 'doc-build-config'Craig Scott2021-09-221-35/+118
|\ \ | | | | | | | | | | | | | | | | | | | | | b8d10c27d1 Help: Restructure build type docs and clarify case sensitivity Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !6516
| * | Help: Restructure build type docs and clarify case sensitivityCraig Scott2021-09-211-35/+118
| | | | | | | | | Fixes: #22591
* | | CMakeDependentOption: Introduce policy CMP0127 for full Condition SyntaxDaniel Schürmann2021-09-101-0/+8
|/ / | | | | | | Fixes: #22303
* | Help: Fix regex in example of cmake-packages(7) Johel Ernesto Guerrero Peña2021-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change makes it work as intended as opposed to make the condition always true. This can be confirmed by running the following script: ``` [johel@sundown tmp]$ cat x.cmake function(f) set(valid_inputs abc 123) foreach(input ${ARGV}) if(";${valid_inputs};" MATCHES input) message("old valid: ${input}") endif() if(";${valid_inputs};" MATCHES ";${input};") message("new valid: ${input}") endif() endforeach() endfunction() f("0;z;123;12;abc;ab;13;ac") set(_supported_components Plot Table) set(ClimbingStats_FIND_COMPONENTS Plot Table P T) foreach(_comp ${ClimbingStats_FIND_COMPONENTS}) if(NOT ";${_supported_components};" MATCHES _comp) message("old invalid: set(ClimbingStats_NOT_FOUND_MESSAGE \"Unsupported component: ${_comp}\")") endif() if(NOT ";${_supported_components};" MATCHES ";${_comp};") message("new invalid: set(ClimbingStats_NOT_FOUND_MESSAGE \"Unsupported component: ${_comp}\")") endif() endforeach() [johel@sundown tmp]$ cmake -P x.cmake new valid: 123 new valid: abc old invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: Plot") old invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: Table") old invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: P") new invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: P") old invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: T") new invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: T") ```
* | Merge topic 'symlinks-rebase-master'Brad King2021-08-101-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 58d10cf6f1 Alternative symlink-creating mode for file(INSTALL ...) Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !6396
| * | Alternative symlink-creating mode for file(INSTALL ...)Felix Lelchuk2021-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An new environment variable 'CMAKE_INSTALL_MODE' is introduced, which can be used to ask CMake to create symbolic links instead of copying files during a file(INSTALL ...). The operation is at the file level only, directory trees are still created using actual directories, not links. Signed-off-by: Felix Lelchuk <felix.lelchuk@gmx.de>
* | | Merge topic 'doc-presets-toolchain-file'Craig Scott2021-08-021-2/+3
|\ \ \ | |/ / |/| / | |/ | | | | | | ca371d3a14 Help: Fix unlinked mention of CMAKE_TOOLCHAIN_FILE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6417
| * Help: Fix unlinked mention of CMAKE_TOOLCHAIN_FILECraig Scott2021-07-311-2/+3
| |
* | Merge topic 'doc-ctest-output'Craig Scott2021-07-261-2/+4
|\ \ | |/ | | | | | | | | | | | | ba6d1947b6 Help: Add cross-references between test output size ctest variables cdde9e5a10 Help: Improve wording and cross-referencing for ctest JUnit output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6389
| * Help: Improve wording and cross-referencing for ctest JUnit outputCraig Scott2021-07-251-2/+4
| |
* | Merge topic 'iar-exe-suffix'Brad King2021-07-201-0/+1
|\ \ | |/ | | | | | | | | | | | | 09bc0785ee Help: Document CMAKE_EXECUTABLE_SUFFIX_<LANG> explicitly 05a3bafe65 Compiler/IAR: Avoid clobbering CMAKE_EXECUTABLE_SUFFIX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6357
| * Help: Document CMAKE_EXECUTABLE_SUFFIX_<LANG> explicitlyLorenzo Cappelletti2021-07-201-0/+1
| | | | | | | | | | Documentation for `CMAKE_EXECUTABLE_SUFFIX_<LANG>`, useful when cross-compiling, is buried in section `CMAKE_EXECUTABLE_SUFFIX`.
* | Merge topic 'doc-cmake-build-signature'Brad King2021-07-141-1/+2
|\ \ | |/ | | | | | | | | | | 161f1f42d6 Help: Clarify 'cmake --build' signature alternatives Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6343
| * Help: Clarify 'cmake --build' signature alternativesBrad King2021-07-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Documentation added by * commit 4f4f2028b8 (Help: Add documentation for buildPresets and testPresets, 2021-01-13, v3.20.0-rc1~51^2~7) * commit 676ecf0d37 (cmake-presets: Add build and test presets, 2020-12-14, v3.20.0-rc1~51^2~6) used square brackets in the `cmake --build` signature to indicate non-optional alternatives, which is not a typical convention. A common convention is to use parentheses instead, but in this case it is probably clearer to list the two signatures separately. Fixes: #22413
* | Merge topic 'ctest-environment-modifications'Brad King2021-07-131-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | de4f1f26b0 CTest: add an ENVIRONMENT_MODIFICATION property 4c757fa3c8 Help/prop_test/ENVIRONMENT: clarify the scope of the changes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6299
| * | CTest: add an ENVIRONMENT_MODIFICATION propertyBen Boeckel2021-07-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property allows projects to modify environment variables at test time rather than trying to guess what the state should be based on what is present at configure time. Of particular interest is the ability to use a `PATH` present at test time while adding entries known to be necessary for the test itself. There are multiple operations provided to modify variables, including: - setting and unsetting - appending and prepending as: - strings - path lists - CMake lists Additionally, a `reset` action is provided to cancel any prior modifications to that particular variable in the case of incremental additions to the test property.
* | | Merge topic 'doc-preset-example-v3'Brad King2021-07-131-1/+1
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | 2114d717a0 Help: Fix preset example cmakeMinimumRequired Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !6333
| * | Help: Fix preset example cmakeMinimumRequiredSérgio Martins2021-07-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Since commit 8bc5c8961e (CMakePresets.json: Add the ability to conditionally disable presets, 2021-03-10, v3.21.0-rc1~464^2) the example requires presets version 3 support, which is not available until CMake 3.21. CMake 3.20.0 can't open v3 presets. Make cmakeMinimumRequired compatible with the example's version.
* | | Merge topic 'LWYU-externalization'Brad King2021-07-121-0/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | LINK_WHAT_YOU_USE feature: externalize configurationMarc Chevrier2021-07-091-0/+2
| | |/ | |/| | | | | | | | | | | | | | | | | | | 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
* | | find_package: Add variable to make package REQUIREDEugene Shalygin2021-07-082-1/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Add a `CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>` variable is complement to `CMAKE_DISABLE_FIND_PACKAGE_<PackageName>` with just the opposite behaviour: it turns non-required find_package call into the required one. While optional package dependencies usually result in simple and clean build logic, sometimes people want to be sure those optional dependencies will be found and used. Examples are reproducible builds and build instructions for 3rd parties. People choose to make find_package calls REQUIRED and put them behind an option(). Such workarounds blend build logic with build environment management and do not look elegant.
* | cmake: Allow CMAKE_CONFIGURATION_TYPES to be set by environment variableBrad King2021-06-301-0/+1
| | | | | | | | | | | | | | | | When no `CMAKE_CONFIGURATION_TYPES` is explicitly specified while creating a new build tree, check for an environment variable of the same name. Issue: #20983
* | cmake: Allow CMAKE_BUILD_TYPE to be set by environment variableBrad King2021-06-301-0/+1
| | | | | | | | | | | | | | When no `CMAKE_BUILD_TYPE` is explicitly specified while creating a new build tree, check for an environment variable of the same name. Issue: #20983
* | Merge topic 'genex-versionadded'Brad King2021-06-281-5/+105
|\ \ | |/ | | | | | | | | | | 7993aa3075 Help: Add versionadded tags to cmake-generator-expressions(7) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6270
| * Help: Add versionadded tags to cmake-generator-expressions(7)FeRD (Frank Dana)2021-06-281-5/+105
| |
* | Merge topic 'vs2022'Brad King2021-06-281-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | 93c718791e VS: Use 64-bit MSBuild in VS 2022 c46b265839 VS: Add Visual Studio 17 2022 generator b610b7a35c VS: Update v142 CL flag table for VS 17.0 Preview 1 43375c6418 Help: Remove unnecessary Sphinx versionadded markup in VS toolset selection Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6268
| * VS: Add Visual Studio 17 2022 generatorBrad King2021-06-251-0/+1
| | | | | | | | Fixes: #22339
* | Makefiles: Add support for building Fortran intrinsicsIsuru Fernando2021-06-241-0/+1
|/ | | | Fixes: #21463
* Add directory property to list imported targetsBrad King2021-06-101-0/+1
| | | | | | | Model the change after commit cbca65826c (Add directory property to list buildsystem targets, 2016-09-19, v3.7.0-rc1~79^2~1). Fixes: #22291
* Help: Document ctest(1) --interactive-debug-mode limitationBrad King2021-06-091-5/+7
| | | | | Fixes: #22287 Issue: #20115
* Merge topic 'help-presets'Brad King2021-06-091-0/+13
|\ | | | | | | | | | | | | | | b00512e692 Help: presets: add note for ExternalProject users with env vars Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !6201
| * Help: presets: add note for ExternalProject users with env varsMichael Hirsch2021-06-081-0/+13
| | | | | | | | | | | | | | Although this behavior is implied in the existing help text, I think this use case is common and could be puzzling to those who do not thoroughly read the existing help text. I think that warrants a "Note:" on this page.
* | Merge topic 'add_hip_language'Brad King2021-06-094-0/+26
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8514ee9b31 HIP: analyze output of `hipcc` to determine default GPU architecture 20d086f1a2 HIP: All HIP tests now run on CMake's current AMD hardware 2e86e50c2f HIP: Add HIP to all the Check* modules 947dbed0aa HIP: Automatically inject the `hip::device` runtime target b50bfc8913 HIP: Add language to CMake ff0d2858e1 HIP: Extract clang compiler details from hipcc bd844387df ROCMClang: Add the ROCm toolkit derived clang compiler to CMake 590553f322 Compilers: protect use of __has_include ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Zack Galbreath <zack.galbreath@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Acked-by: Axel Huebl <axel.huebl@plasma.ninja> Merge-request: !6121
| * HIP: Add language to CMakeRobert Maynard2021-06-074-0/+26
| |
* | Merge topic 'install-with-runtime-dependencies'Brad King2021-06-082-2/+27
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | 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-041-2/+3
| |
* | cmake: Allow CMAKE_TOOLCHAIN_FILE to be set by environment variableBrad King2021-06-031-0/+1
|/ | | | | When no `CMAKE_TOOLCHAIN_FILE` is explicitly specified while creating a new build tree, check for an environment variable of the same name.