summaryrefslogtreecommitdiffstats
path: root/Help/command
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | | Merge topic 'doc-install-example-components'Brad King2022-05-131-1/+1
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | 308b698f5d Help: Make install() example component names more consistent Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7240
| * | Help: Make install() example component names more consistentJean-Christophe Fillion-Robin2022-05-121-1/+1
| | | | | | | | | | | | | | | | | | This commit updates the documentation so that the component examples are specified using title case to match convention used in both the existing `Installing Exports` section and in the "Mastering CMake" book.
* | | OpenWatcom: Allow specifying the runtime libraryCameron Cawley2022-05-061-0/+1
| |/ |/| | | | | | | | | | | | | Add a `CMAKE_WATCOM_RUNTIME_LIBRARY` variable to control the runtime library selection. Add policy CMP0136 to switch to in place of the old hard-coded default flags. Fixes: #23178
* | Merge topic 'FetchContent_find_package_integration'Craig Scott2022-05-061-9/+31
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 29e31e2825 Packages: Integrate FetchContent and find_package() Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: huangqinjin <huangqinjin@gmail.com> Merge-request: !5688
| * | Packages: Integrate FetchContent and find_package()Craig Scott2022-05-031-9/+31
| | | | | | | | | | | | | | | | | | | | | | | | Allow FetchContent_MakeAvailable() to try a call to find_package() first, or redirect a find_package() call to FetchContent_MakeAvailable(). The user can set variables to control which of these are allowed or tried by default. Fixes: #21687
* | | Merge topic 'HelpExit'Brad King2022-05-051-0/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0aea13d20b Help: for message(FATAL_ERROR), document nonzero exit code cc97725137 Help: document exit code of command cmake(1) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7175
| * | | Help: for message(FATAL_ERROR), document nonzero exit codeJoachim Wuttke (h)2022-05-051-0/+3
| | | |
* | | | Merge topic 'HelpEnv'Brad King2022-05-051-2/+3
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | a693da21f3 Help: from command:if, link to environment variables ab2bdbaf31 Help: Cross-reference ENV operator from cmake-language(7) manual ee4e728a69 Help: From Environment Variables section, link to cmake -E env etc Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7239
| * | | Help: from command:if, link to environment variablesJoachim Wuttke (h)2022-05-051-2/+3
| |/ /
* | | Merge topic 'chsi-windows_registry-updates'Brad King2022-05-042-2/+10
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 0c33f12a39 cmake_host_system_information(WINDOWS_REGISTRY) updates Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7229
| * | cmake_host_system_information(WINDOWS_REGISTRY) updatesMarc Chevrier2022-05-012-2/+10
| |/ | | | | | | | | * add a cross-reference in 'get_filename_component()' documentation * rework tests for better 32bit systems support
* | find_* commands: add control over Windows registry viewsMarc Chevrier2022-04-299-9/+138
|/ | | | Fixes: #22775
* Merge topic 'NO_CMAKE_INSTALL_PREFIX'Brad King2022-04-222-6/+12
|\ | | | | | | | | | | | | | | 42f7e39789 Find: Support per call disabling of CMAKE_INSTALL_PREFIX Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7163
| * Find: Support per call disabling of CMAKE_INSTALL_PREFIXRobert Maynard2022-04-152-6/+12
| | | | | | | | Fixes #23359
* | Merge topic 'find_package_document_global_in_full_signature'Brad King2022-04-211-0/+1
|\ \ | | | | | | | | | | | | | | | | | | b3e1fcf20a Help: Clarify that find_package GLOBAL argument is supported in full signature Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7180
| * | Help: Clarify that find_package GLOBAL argument is supported in full signatureRobert Maynard2022-04-201-0/+1
| |/ | | | | | | | | | | This was accidentally left out of the docs by commit 2f1ffa003c (find_package: Add support for default GLOBAL imported targets, 2022-03-10).
* | Merge topic 'file-set-generated-dependency'Brad King2022-04-151-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | d0d09aa29f FILE_SET: Make INTERFACE libraries with HEADER_SETS participate in buildsystem Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Acked-by: Gabriel Nützi <gnuetzi@gmail.com> Merge-request: !7173
| * | FILE_SET: Make INTERFACE libraries with HEADER_SETS participate in buildsystemKyle Edwards2022-04-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | If an INTERFACE library has HEADER_SETS, and its header sets contain files generated by a custom command, the library needs to participate in the buildsystem so that the files will be generated. Fixes: #23422
* | | cmake_host_system_information: query windows registryMarc Chevrier2022-04-131-3/+149
| |/ |/| | | | | Fixes: #21240, #23367
* | Merge topic 'header-sets-no-framework'Brad King2022-04-071-1/+1
|\ \ | |/ | | | | | | | | | | | | f779f8c0ad FILE_SET: Forbid adding header sets to Apple FRAMEWORK libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !7149