summaryrefslogtreecommitdiffstats
path: root/Help/command
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'find_package-one-more-path'Brad King2022-08-051-0/+1
|\ | | | | | | | | | | | | | | 19366408fe cmFindPackageCommand: Protect overrides of `cmDirectoryListGenerator` e55c154c5b cmFindPackageCommand: Add one more search path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7542
| * cmFindPackageCommand: Add one more search pathAlex Turbov2022-08-041-0/+1
| | | | | | | | | | | | The `PREFIX/(Foo|foo|FOO).*/(cmake|CMake)/(Foo|foo|FOO).*/` search path is the similar to the one already exists `PREFIX/(Foo|foo|FOO).*/(lib/ARCH|lib*|share)/cmake/(Foo|foo|FOO).*/`.
* | Merge topic 'doc-find_package-typo'Brad King2022-08-041-2/+2
|\ \ | |/ |/| | | | | | | | | 5635d33656 Help: Fix reST syntax typo in find_package docs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7540
| * Help: Fix reST syntax typo in find_package docsEisuke Kawashima2022-08-031-2/+2
| |
| * Merge topic 'doc-if-PATH_EQUAL' into release-3.24Brad King2022-07-262-9/+15
| |\ | | | | | | | | | | | | | | | | | | 37e01773e4 Help: Clarify behavior of path-based equality conditions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7503
* | \ Merge topic 'doc-if-PATH_EQUAL'Brad King2022-07-262-9/+15
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 37e01773e4 Help: Clarify behavior of path-based equality conditions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7503
| * | Help: Clarify behavior of path-based equality conditionsCraig Scott2022-07-242-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The docs for if(PATH_EQUAL) did not mention the component-wise nature of the checks. It also claimed no normalization was performed, but multiple separators are effectively collapsed (part of normalization). Improve the wording to clarify both of these points. Also update the corresponding description of cmake_path(COMPARE), which had the same inaccuracy. Fixes: #23758
* | | Merge topic 'doc-find_package-BYPASS_PROVIDER'Brad King2022-07-251-2/+12
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | 4f7a0c25d2 Help: Document BYPASS_PROVIDER keyword for find_package() 76370e06b8 Help: Minor grammar fix for the Using Dependencies manual Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7501
| * | Help: Document BYPASS_PROVIDER keyword for find_package()Craig Scott2022-07-231-2/+12
| |/ | | | | Fixes: #23669
* | Merge topic 'try_run_split_output'Brad King2022-07-221-0/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | a2cd0687db try_run: Add RUN_OUTPUT_STDOUT_VARIABLE and RUN_OUTPUT_STDERR_VARIABLE. Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7453
| * | try_run: Add RUN_OUTPUT_STDOUT_VARIABLE and RUN_OUTPUT_STDERR_VARIABLE.Patrick Northon2022-07-081-0/+13
| | |
* | | Merge topic 'doc-execute_process'Brad King2022-07-201-2/+9
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 70c26a65b7 Help: Clarify execute_process OS-specific command-line encoding Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7492
| * | Help: Clarify execute_process OS-specific command-line encodingBrad King2022-07-201-2/+9
| | | | | | | | | | | | Issue: #23557
* | | Merge topic 'doc_command_links'Brad King2022-07-204-0/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 033c066543 Help: Add see-also refs for flow control commands Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7467
| * | | Help: Add see-also refs for flow control commandsMarkus Ferrell2022-07-194-0/+29
| | | |
* | | | Merge topic 'doc-example-target-sources'Brad King2022-07-201-2/+2
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | | | | c7c5a50b97 Help: Add missing PRIVATE keyword to target_sources() example Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7490
| * | Help: Add missing PRIVATE keyword to target_sources() exampleCraig Scott2022-07-201-2/+2
| | | | | | | | | Fixes: #23746
* | | Merge topic 'install-destination-docs'Brad King2022-07-081-3/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 52164be691 Help: Clarify behavior of install(TARGETS) for DLLs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7457
| * | | Help: Clarify behavior of install(TARGETS) for DLLsKyle Edwards2022-07-061-3/+9
| | | | | | | | | | | | | | | | Fixes: #23695
* | | | exports: support `CXX_MODULES_DIRECTORY`Ben Boeckel2022-07-062-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This directory will be used to store build-discovered information about targets such as the modules provided by the files in the relevant `FILE_SET` types. A directory is used because basing the name on a `<FILE_NAME>-*.cmake` pattern makes it end up being globbed in the configuration-dependent information mechanism. Since old modules and targets may be around, unconditionally including them may refer to targets that do not actually exist.
* | | | install: support `CXX_MODULES_BMI` installation bitsBen Boeckel2022-07-061-1/+13
| | | |
* | | | cmTargetSourcesCommand: allow `INTERFACE` C++ modules when importedBen Boeckel2022-07-061-2/+2
|/ / / | | | | | | | | | | | | `PUBLIC` filesets become `INTERFACE` upon installation. Allow `INTERFACE` scopes for C++ modules when the target is imported.
* | | Merge topic 'enable_language-deduplicate'Brad King2022-07-061-4/+5
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | e3c8012ccd Help: Document enable_language accepting multiple languages b4fd385c9b cmMakefile: Dedupe languages when enabling them 66bfe14309 cmMakefile: Refactor parameter and variable names for EnableLanguage Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7426
| * | Help: Document enable_language accepting multiple languagesfriendlyanon2022-06-301-4/+5
| | |
* | | Merge topic 'docopt'Brad King2022-07-051-4/+6
|\ \ \ | |/ / |/| / | |/ | | | | | | ee6b429498 Help: Clarify that option() is a boolean Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7434
| * Help: Clarify that option() is a booleanMichael Hirsch2022-07-051-4/+6
| | | | | | | | Also describe `option()` behavior in project vs. script mode.
| * Merge topic 'fetchcontent-global-targets' into release-3.24Brad King2022-06-111-4/+5
| |\ | | | | | | | | | | | | | | | | | | | | | | | | f19b48e0b8 FetchContent: Honor CMAKE_FIND_PACKAGE_TARGETS_GLOBAL 1305bade56 Help: Add missing version directive for find_package() GLOBAL keyword Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7347
| * \ Merge topic 'doc-using-deps-guide' into release-3.24Brad King2022-06-092-0/+9
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 92e93f5c9e Help: Overhaul and expand the Using Dependencies Guide Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !7332
* | | | Add cmake_language(GET_MESSAGE_LOG_LEVEL) sub commandAlexandru Croitor2022-06-281-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new sub-command writes a string representation of the current log level to the output variable given to the sub-command. Given that the log-level might be set either via the --log-level command line option or via the CMAKE_MESSAGE_LOG_LEVEL cache / regular variables, the priority for each of the log level sources is as follows, with the first one being the highest: 1) --log-level 2) CMAKE_MESSAGE_LOG_LEVEL regular variable 3) CMAKE_MESSAGE_LOG_LEVEL cache variable 4) default log level (STATUS) Fixes: #23572
* | | | Merge topic 'cpp-named-module-file-sets'Brad King2022-06-171-15/+62
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 07bc3b07ec gitlab-ci: test C++ modules using GCC 1b2270aa4e ci: add a Docker image to test out C++ modules with GCC 8c5a53096a Tests/RunCMake/CXXModules: add module-using examples 4151547e2f cmGlobalNinjaGenerator: use `cmModuleMapper` implementation b43bdaff3c cmCxxModuleMapper: implement support for GCC's module map format 02d0f0e752 cmCxxModuleMapper: add source to handle module mapper contents a046a45aad cmGlobalNinjaGenerator: add a TODO for header units 386465bf83 cmTarget: add support for C++ module fileset types ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7369
| * | | | cmTarget: add support for C++ module fileset typesBen Boeckel2022-06-161-15/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C++ modules have two variants which are of importance to CMake: - `CXX_MODULES`: interface modules (those using `export module M;`, `export module M:part;`, or `module M:internal_part;`) - `CXX_MODULE_HEADER_UNITS`: importable header units Creating C++ modules or partitions are *not* supported in any other source listing. This is because the source files must be installed (so their scope matters), but not part of usage requirements (what it means for a module source to be injected into a consumer is not clear at this moment). Due to the way `FILE_SET` works with scopes, they are a perfect fit as long as `INTERFACE` is not allowed (which it is not).
* | | | | find_(program,library,file,path): add validation functionMarc Chevrier2022-06-141-0/+21
|/ / / / | | | | | | | | | | | | Fixes: #23603
* | | | Merge topic 'fetchcontent-global-targets'Brad King2022-06-111-4/+5
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | f19b48e0b8 FetchContent: Honor CMAKE_FIND_PACKAGE_TARGETS_GLOBAL 1305bade56 Help: Add missing version directive for find_package() GLOBAL keyword Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7347
| * | | Help: Add missing version directive for find_package() GLOBAL keywordCraig Scott2022-06-101-4/+5
| |/ /
* | | Merge topic 'doc-using-deps-guide'Brad King2022-06-092-0/+9
|\ \ \ | |/ / |/| / | |/ | | | | | | | | 92e93f5c9e Help: Overhaul and expand the Using Dependencies Guide Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !7332
| * Help: Overhaul and expand the Using Dependencies GuideCraig Scott2022-06-092-0/+9
| | | | | | | | | | | | | | | | The guide previously only focused on the find_package() command, with a bias towards libraries. FetchContent was not mentioned at all. Reorganise and update the existing content. Add new sections to cover providing dependencies with FetchContent and dependency providers. Improve discoverability of the guide by mentioning it at the beginning of the find_package(), FetchContent and dependency provider docs.
* | Merge topic 'if-command-PATH_EQUAL'Brad King2022-06-061-1/+29
|\ \ | | | | | | | | | | | | | | | | | | | | | be4b9e10af if command: Add PATH_EQUAL operator Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7321
| * | if command: Add PATH_EQUAL operatorMarc Chevrier2022-06-031-1/+29
| | |
* | | Help: Fix formatting and missing cross-reference for find_package()Craig Scott2022-06-051-3/+3
| |/ |/| | | | | Amends 42f7e39789 (Find: Support per call disabling of CMAKE_INSTALL_PREFIX, 2022-03-21)
* | Help: State behavior for add_custom_command(TARGET) without event typeCraig Scott2022-06-041-0/+5
|/ | | | | | | | | | Projects should always have specified one of PRE_BUILD, PRE_LINK or POST_BUILD, and the documentation has always shown that one must be given. But the argument parsing logic was such that if none was given, POST_BUILD would be used and no error or warning would be raised. Projects may be relying on this behavior, so document it as formally supported, but not recommended. Fixes: #23488
* Genex-PATH_EQUAL: path comparisonMarc Chevrier2022-06-011-0/+1
| | | | To complete issue #23498
* Genex-PATH: path handlingMarc Chevrier2022-05-311-1/+11
| | | | Fixes: #23498
* Merge topic 'dependency-providers'Brad King2022-05-252-1/+265
|\ | | | | | | | | | | | | | | | | | | | | 2aa83fa15b Dependency providers: Add find_package and FetchContent support 8a28368feb FetchContent: Don't discard non-empty SOURCE_DIR and BINARY_DIR 8ce9bb8a0c FetchContent: Don't leak internal variables 74a6ddc339 cmFindPackageCommand: Handle Makefile variable definitions more robustly Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Gerhard Olsson <gerhard.nospam@gmail.com> Merge-request: !7276
| * Dependency providers: Add find_package and FetchContent supportCraig Scott2022-05-242-1/+265
| | | | | | Fixes: #22619
* | Help: Avoid duplicating registry query syntax in multiple find_* commandsMarc Chevrier2022-05-183-51/+5
| | | | | | | | | | | | In commit 8d7e80cf3d (find_* commands: add control over Windows registry views, 2022-04-16) we added documentation that is repeated by multiple find commands. Move it to a dedicated manual section to avoid duplication.
* | Merge topic 'try_compile-project-platform-vars'Brad King2022-05-171-0/+15
|\ \ | |/ |/| | | | | | | | | | | | | a6562ff579 try_compile: Add option to skip passing platform variables 4843a37676 try_compile: Propagate platform variables in project-mode too Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7265
| * try_compile: Add option to skip passing platform variablesBrad King2022-05-161-0/+4
| | | | | | | | | | | | | | Add a `CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES` variable to tell `try_compile` not to pass platform variables to the test project. Issue: #23219
| * try_compile: Propagate platform variables in project-mode tooBrad King2022-05-161-0/+11
| | | | | | | | | | | | | | | | | | Add policy CMP0137 to propagate both our builtin variables and those listed by `CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` to `try_compile` whole-project builds. Inspired-by: Alexander Neumann <Alexander.Neumann@hamburg.de> Fixes: #23219
* | Merge topic 'CMAKE_PROJECT_TOP_LEVEL_INCLUDES'Brad King2022-05-161-19/+47
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | a6c34b0353 project(): Add new CMAKE_PROJECT_TOP_LEVEL_INCLUDES file injection point 8aa29a1793 CMakeDetermineSystem: Remove unreachable code Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7250
| * | project(): Add new CMAKE_PROJECT_TOP_LEVEL_INCLUDES file injection pointCraig Scott2022-05-131-19/+47
| | | | | | | | | Fixes: #22685