summaryrefslogtreecommitdiffstats
path: root/Help/manual
Commit message (Collapse)AuthorAgeFilesLines
* Help: Guard calls to pkg_check_modules in cmake-developer(7) examplePeter Kokot2024-11-111-1/+3
| | | | | This was missed in commit 25b947589a (Modules: Guard calls to pkg_check_modules, 2024-08-07, v3.31.0-rc1~236^2).
* project: Always set <PROJECT-NAME>_* as normal variablesCraig Scott2024-10-081-0/+1
| | | | | | | | | | Re-introduce the behavior originally introduced in CMake 3.30.3 by commit c1ece78d11 (project: non cache <project> prefix variables are also created, 2024-08-27, v3.30.3~2^2), but this time with a policy for compatibility. Issue: #25714 Issue: #26243
* preset: Easier command line interface for Workflow PresetsKevin Tolle2024-10-051-2/+11
| | | | | | | A positional option allows 'cmake --workflow --preset <preset>' to be shortened to 'cmake --workflow <preset>'. Fixes: #26270
* Merge topic 'cmake-host-executable-suffix'Brad King2024-10-031-0/+1
|\ | | | | | | | | | | | | | | | | 5d2b89d5fa Add CMAKE_HOST_EXECUTABLE_SUFFIX for Unix/Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: shiz01 <shiz01@tutanota.com> Merge-request: !9863
| * Add CMAKE_HOST_EXECUTABLE_SUFFIX for Unix/Windowsleha-bot2024-10-021-0/+1
| | | | | | | | Closes: #17553
* | Static libraries de-duplication: keep first occurrenceMarc Chevrier2024-10-021-0/+1
|/ | | | Fixes: #26335
* tests: Preserve empty arguments in test command linesCraig Scott2024-10-021-0/+1
| | | | | | | | | | | | | | | | | | | | This will now preserve empty values in the TEST_LAUNCHER and CROSSCOMPILING_EMULATOR target properties for tests added by: - The add_test() command. - The ExternalData_Add_Test() command from the ExternalData module. - The gtest_add_tests() or gtest_discover_tests() commands from the GoogleTest module. For the gtest_add_tests() and gtest_discover_tests() commands, empty elements in the values passed after the EXTRA_ARGS keyword are also now preserved. Policy CMP0178 is added to provide backward compatibility with the old behavior where empty values were silently discarded from the above cases. Fixes: #26337
* Merge topic 'curl-tls-version'Brad King2024-09-271-0/+4
|\ | | | | | | | | | | | | | | | | 38390245a2 ctest: Require minimum TLS 1.2 by default 5e1a59dc2b file(DOWNLOAD/UPLOAD): Require minimum TLS 1.2 by default Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9848
| * ctest: Require minimum TLS 1.2 by defaultBrad King2024-09-261-0/+4
| | | | | | | | Issue: #25701
* | Merge topic 'link-strategy'Brad King2024-09-262-0/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 7abd3137b7 Linking: Optionally reorder direct dependencies from LINK_LIBRARIES 9285a9dc9a cmComputeLinkDepends: Add final dependency ordering to debug output f792db4ca2 cmComputeLinkDepends: Add undocumented per-target debug property 80b469a51d cmComputeLinkDepends: Factor out string literals as named constants 3bd73fcc76 cmComputeLinkDepends: Modernize member initialization 8db69c767b cmComputeLinkDepends: Remove redundant member dccdd030cd cmComputeLinkDepends: Replace depender index sentinel value with cm::optional 6c9d8dc243 cmComputeLinkDepends: Replace group index sentinel value with cm::optional ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9835
| * Linking: Optionally reorder direct dependencies from LINK_LIBRARIESBrad King2024-09-252-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Traditionally CMake generates link lines by starting with the direct link dependencies specified by `LINK_LIBRARIES` in their original order and then appending indirect dependencies that the direct dependencies do not express. This gives projects control over ordering among independent entries, which can be important when intermixing flags and libraries, or when multiple libraries provide the same symbol. However, it may also result in inefficient link lines. Add support for an alternative strategy that can reorder direct link dependencies to produce more efficient link lines. This is useful for projects that cannot easily specify their targets' direct dependencies in an order that satisfies indirect dependencies. Add a `CMAKE_LINK_LIBRARIES_STRATEGY` variable and corresponding `LINK_LIBRARIES_STRATEGY` target property to select a strategy. Fixes: #26271
* | Merge topic 'curl-tls-verify'Brad King2024-09-241-0/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 4e62bc943c ctest: Verify TLS server certificate by default 8e92ee34f6 file(DOWNLOAD/UPLOAD): Verify TLS server certificate by default dcaea54898 cmCTestCurl: Clarify names and logic using optional<bool> 03d37ae3ff cmFileCommand: Clarify names and logic using optional<bool> Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9843
| * | ctest: Verify TLS server certificate by defaultBrad King2024-09-241-0/+5
| |/ | | | | | | Issue: #23608
* | NVCC: Detect host compiler id and versionBrad King2024-09-201-0/+2
|/ | | | | | Report them in `CMAKE_<LANG>_HOST_COMPILER_{ID,VERSION}` variables. Fixes: #20901
* install: Normalize DESTINATION pathsCraig Scott2024-09-191-0/+1
| | | | | | | | | | | | | | The file generated by install(EXPORT) computes _IMPORT_PREFIX in a way that assumes a normalized path. If the DESTINATION contains any ../ components, the computed _IMPORT_PREFIX would be wrong. Force the DESTINATION path to be normalized, subject to the new CMP0176 policy. Also normalize all other DESTINATION paths for consistency, except for INCLUDES DESTINATION, which is not strictly a destination but rather a search path to add. Fixes: #26252
* execute_process: Change default ENCODING to UTF-8Brad King2024-09-161-0/+1
| | | | | | | | | | | | | Windows is heading toward making UTF-8 the preferred MBCS. As CMake's internal encoding, `UTF-8` is effectively equivalent to `NONE`, which was CMake's behavior prior to 3.15's accidental change to `AUTO`. Behavior of `ENCODING UTF-8` is independent of CMake's internal encoding, making it in principle a better default than `NONE`. Add policy CMP0176 for compatibility and to document the default's history. Fixes: #26262
* Merge topic 'genex-tco-subgraph'Brad King2024-09-111-0/+8
|\ | | | | | | | | | | | | | | | | 4a11772618 GenEx: Limit TARGET_PROPERTY transitive closure optimization to subgraphs Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !9789
| * GenEx: Limit TARGET_PROPERTY transitive closure optimization to subgraphsMichael Herwig2024-09-101-0/+8
| | | | | | | | Fixes: #25728
* | Merge topic 'add_custom_command-arg-handling'Brad King2024-09-111-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ec519f3e97 add_custom_command: Validate arguments more rigorously 8dc8be0884 AndroidTestUtilities: Remove DEPENDS that was being silently ignored 316840b430 Tests: Add missing POST_BUILD to custom commands f5f80305ef ExternalProject: Ensure keywords requiring an argument have one Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9785
| * | add_custom_command: Validate arguments more rigorouslyCraig Scott2024-09-091-0/+1
| |/ | | | | | | | | | | | | Add a new CMP0175 policy to preserve backward compatibility for projects that were using unsupported keywords or arguments. Fixes: #26096, #21089, #18976
* | Merge topic 'windows-kernel-mode-driver-includes'Brad King2024-09-051-0/+1
|\ \ | | | | | | | | | | | | | | | | | | b151bcfc9e WindowsKernelModeDriver: Add WDK include and link paths on MSVC Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9705
| * | WindowsKernelModeDriver: Add WDK include and link paths on MSVCJoseph Snyder2024-09-031-0/+1
| |/ | | | | | | | | | | | | | | | | Detect Windows Kernel-Mode Driver include directories and library search paths from the WDK command-line environment. Require toolchain files to specify the KMDF target version via a new variable. Since this changes the behavior of the WindowsKernelModeDriver experimental feature, update its UUID.
* | Merge topic 'build-databases'Brad King2024-09-053-0/+3
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | e77655555c cmExperimental: gate build database support behind a flag 23cbeb5035 ci: enable `build_database` CXXModules tests 6863c1d823 Tests/CXXModules: add tests for module commands 123107c1a4 Tests/CXXModules: add support for running targets under a given config 438038b5e1 Tests/CXXModules: support building specific targets of example trees 84bc710d84 cmGlobalGenerator: generate build database files for targets 670f753f24 cmDyndepCollation: write build database metadata dcf9a66ffe cxxmodules: plumb control data for exporting build databases ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9708
| * cxxmodules: plumb control data for exporting build databasesBen Boeckel2024-08-273-0/+3
| | | | | | | | | | | | This includes the target property, its initializing variable, its initializing environment variable, and updating related docs to mention the new bits.
* | Merge topic 'standard-link-directories'Brad King2024-08-291-0/+1
|\ \ | |/ |/| | | | | | | | | | | 20e9b59d5e Linking: Add CMAKE_LANG_STANDARD_LINK_DIRECTORIES Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9707
| * Linking: Add CMAKE_LANG_STANDARD_LINK_DIRECTORIESVito Gamberini2024-08-281-0/+1
| | | | | | | | Closes: #18222
* | Merge topic 'cmake-parse-arguments-one-arg-empty-string'Brad King2024-08-261-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | ceeea4e511 cmake_parse_arguments: Set variable if empty string given after keyword 2f5cc6afa1 cmParseArgumentsCommand: Use cmStrCat() for string concatenation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9748
| * | cmake_parse_arguments: Set variable if empty string given after keywordCraig Scott2024-08-221-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a single-value keyword is followed by an empty string, the command unsets the variable for that keyword instead of setting it to the empty string. This is inconsistent and unexpected. Add policy CMP0174 which ensures the variable for a single-value keyword is always set when any value is given, not just for a non-empty value. The new CMP0174 policy only affects the PARSE_ARGV form of cmake_parse_arguments. The older form silently drops all empty string arguments before processing the argument list. Fixes: #25972
* | Merge topic 'fileapi-config-dir'Brad King2024-08-263-1/+14
|\ \ | |/ |/| | | | | | | | | | | | | | | 1df94443fe fileapi: Add support for user-wide queries a991a5019b Tests: Isolate test suite from user-wide configuration 320b81847d Tests: Remove unused cvs anonymous access credentials Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9744
| * fileapi: Add support for user-wide queriesMartin Duffy2024-08-223-1/+14
| | | | | | | | Fixes: #19168
* | Merge topic 'doc-preset-env'Brad King2024-08-191-17/+33
|\ \ | | | | | | | | | | | | | | | | | | bc5cddbea7 Help: Clarify role and importance of penv{} preset macro Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9738
| * | Help: Clarify role and importance of penv{} preset macroBenjamin Buch2024-08-151-17/+33
| |/ | | | | | | | | | | | | | | Preset environment variables are always set to the exact value specified. The `$penv{}` macro can be used to refer to the parent environment value to append or prepend to it. Fixes: #26216
* | CMakeFindFrameworks: Deprecate the module subject to policy CMP0173Craig Scott2024-08-162-1/+2
|/ | | | Fixes: #20446
* Merge topic 'doc-log'Brad King2024-08-141-0/+2
|\ | | | | | | | | | | | | d03bb13839 Help: version 3.16 added cmake --log-level Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9711
| * Help: version 3.16 added cmake --log-levelscivision2024-08-081-0/+2
| |
* | presets: Fix graphviz support documentationAliaksandr Averchanka2024-08-101-4/+3
|/
* Merge topic 'presets-graphviz'Brad King2024-08-012-0/+16
|\ | | | | | | | | | | | | 31c0e0de49 presets: Add graphviz support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9691
| * presets: Add graphviz supportAliaksandr Averchanka2024-07-302-0/+16
| | | | | | | | Closes: #22164
* | PkgC: Add cmake_pkg_config(EXTRACT) commandVito Gamberini2024-07-291-0/+1
|/ | | | | | | | * Wraps the llpkgc parser with cmPkgConfigParser * Adds various resolution and mangling code under cmPkgConfigResolver * Documents new command cmake_pkg_config(EXTRACT). Documentation is written with the assumption additional subcommands will be added soon. * Adds various tests for the above
* Merge topic 'cmake-list-cached-variables'Brad King2024-07-241-0/+11
|\ | | | | | | | | | | | | | | c55239e286 cmake: Add flag to list cache entries matching a regex Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9644
| * cmake: Add flag to list cache entries matching a regexMin Hsu2024-07-231-0/+11
| | | | | | | | | | | | Add a `-LR[A][H] <regex>` flag with similar functionality to `-L[A][H]`, but instead of listing all cached variables, it show only specific variables that match the name regex.
* | Merge topic 'cpack-wix-per-machine'Brad King2024-07-221-0/+1
|\ \ | | | | | | | | | | | | | | | | | | d588e81ffb CPack/WIX: Generate perMachine installers by default Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9672
| * | CPack/WIX: Generate perMachine installers by defaultBrad King2024-07-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add policy CMP0172 to set `CPACK_WIX_INSTALL_SCOPE` to `perMachine` by default. Follow up commit 60661f6770 (CPack/WiX: Make InstallScope configurable, 2023-11-07, v3.29.0-rc1~413^2) and commit 614100dbf6 (CPack/WiX: Restore default (missing) InstallScope from 3.28 and lower, 2024-06-05, v3.30.0-rc1~7^2~1). Issue: #20962 Issue: #26029
* | | Merge topic 'aix-archive-shared-libraries'Brad King2024-07-192-0/+4
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | d27fe9dfba AIX: Add option to archive shared libraries 98013ad1ca cmXCOFF: Add support for editing binary inside an archive Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9606
| * | AIX: Add option to archive shared librariesAditya Vidyadhar Kamath2024-07-172-0/+4
| |/ | | | | | | | | | | | | | | Add option `CMAKE_AIX_SHARED_LIBRARY_ARCHIVE`. There will no versions for the shared objects when this option is used. Closes: #26033
* | Merge topic 'parallel-install'Brad King2024-07-182-0/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 159ba027b9 Install: Add parallel installation option Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9611
| * | Install: Add parallel installation optionMartin Duffy2024-07-152-0/+10
| |/ | | | | | | Fixes: #26000
* | Merge topic 'wasi'Brad King2024-07-171-0/+1
|\ \ | | | | | | | | | | | | | | | | | | 68cd5281e4 WASI: Add platform modules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9659
| * | WASI: Add platform modulesJacob Hummer2024-07-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add minimal platform modules to support toolchain files like those in * https://github.com/WebAssembly/wasi-sdk or direct use of `-DCMAKE_SYSTEM_NAME="WASI"` Fixes: #19223
* | | Merge topic 'doc-mark-deprecated'Brad King2024-07-162-2/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 723e236224 Help: Move deprecated modules and variables to dedicated sections Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9651