summaryrefslogtreecommitdiffstats
path: root/Help
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge topic 'doc-find-progr'Brad King2024-10-031-0/+20
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7a88ca2e56 Help: Document find_program filename suffix behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9871
| * | | | Help: Document find_program filename suffix behaviorscivision2024-10-031-0/+20
| |/ / / | | | | | | | | | | | | Issue: #16453
* | | | Merge topic 'cmake-host-executable-suffix'Brad King2024-10-034-1/+23
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-024-1/+23
| |/ / / | | | | | | | | | | | | Closes: #17553
* | | | Static libraries de-duplication: keep first occurrenceMarc Chevrier2024-10-025-1/+41
|/ / / | | | | | | | | | Fixes: #26335
* | | Merge topic 'preserve-empty-args-test-command-lines'Brad King2024-10-023-0/+57
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | fc7aa3cd69 tests: Preserve empty arguments in test command lines 9f1703530b Help: Add pre-test to prose for gtest_discover_tests() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9575
| * | | tests: Preserve empty arguments in test command linesCraig Scott2024-10-023-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | FindOpenMP: Add support for CUDA when supported by the toolchainBrad King2024-09-271-0/+5
|/ / / | | | | | | | | | NVCC supports OpenMP on the host when the host compiler does.
* | | Merge branch 'release-3.30'Brad King2024-09-271-9/+10
|\ \ \ | |/ /
| * | CMake 3.30.4v3.30.4Brad King2024-09-271-9/+10
| | |
* | | Merge topic 'curl-tls-version'Brad King2024-09-274-0/+23
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-262-0/+8
| | | | | | | | | | | | | | | | Issue: #25701
| * | | file(DOWNLOAD/UPLOAD): Require minimum TLS 1.2 by defaultBrad King2024-09-263-0/+15
| | | | | | | | | | | | | | | | Fixes: #25701
* | | | Merge topic 'project-vars'Brad King2024-09-271-0/+17
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | 73a8f944b2 Help: Add 3.30 release notes for project variable updates Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9853
| * | | Help: Add 3.30 release notes for project variable updatesBrad King2024-09-261-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a 3.30.3 release note for commit c1ece78d11 (project: non cache <project> prefix variables are also created, 2024-08-27, v3.30.3~2^2). Prepare a 3.30.4 release note for commit 86ad7cc886 (project: Only define non-cache vars if already defined, 2024-09-15).
* | | | Merge topic 'link-strategy'Brad King2024-09-267-0/+98
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-257-0/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Help: Explicitly state include_external_msproject is only for VS generatorsBrad King2024-09-251-4/+5
| |_|/ / |/| | | | | | | | | | | Fixes: #19975
* | | | Merge topic 'curl-tls-verify'Brad King2024-09-245-6/+41
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-243-0/+15
| | | | | | | | | | | | | | | | | | | | Issue: #23608
| * | | | file(DOWNLOAD/UPLOAD): Verify TLS server certificate by defaultBrad King2024-09-243-6/+26
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the connection fails in a way that might be a certificate error, and verification was enabled by the new default, mention environment variable `CMAKE_TLS_VERIFY` in the diagnostic to help users that were relying on the old behavior turn off server certificate verification in their environment. Fixes: #23608
* | | | Merge topic 'cuda-host-compiler-id'Brad King2024-09-235-0/+35
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3b4d0df670 NVCC: Detect host compiler id and version 38cacd83a5 Tests: Migrate compiler id tests to RunCMake infrastructure 37173f1ccc Tests/RunCMake: Generalize construction of arguments for languages to test Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9841
| * | | | NVCC: Detect host compiler id and versionBrad King2024-09-205-0/+35
| |/ / / | | | | | | | | | | | | | | | | | | | | Report them in `CMAKE_<LANG>_HOST_COMPILER_{ID,VERSION}` variables. Fixes: #20901
* | | | Merge branch 'backport-project-vars' into project-varsBrad King2024-09-201-0/+6
|\ \ \ \ | |/ / / |/| / / | |/ /
| * | project: Only define non-cache vars if already definedCraig Scott2024-09-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In c1ece78d11 (project: non cache <project> prefix variables are also created, 2024-08-27), we started explicitly setting the non-cache variable for <projectName>_SOURCE_DIR, <projectName>_BINARY_DIR, and <projectName>_IS_TOP_LEVEL in addition to setting them as cache variables. This changed the behavior when a project name was used more than once, and the second project call happens in the same scope or a child scope of the first. Previously, the first project call would set cache variables, and the second project call would not overwrite those cache variables. With the change in c1ece78d11, after the second project call the non-cache variables would mask the cache variables and the project code would see a different value to what it did before. Setting the non-cache variable was added to handle the case where a call to FetchContent_MakeAvailable() would set some non-cache variables, and it just so happened those matched the same cache variables that the project() command would set in the project being fetched. The fetched project would then see a different set of project-specific variables compared to when it was built standalone. This commit here narrows the change from c1ece78d11 such that the non-cache variable is only set by project() if there was already a non-cache variable set. This still fixes the motivating problem c1ece78d11 was intended to solve, but it avoids changing the variable values seen by a project that re-uses the same project name in related scopes. Issue: #26243, #25714 Fixes: #26281
| * | Help: State valid scopes for using proj_SOURCE_DIR and proj_BINARY_DIRCraig Scott2024-09-201-2/+9
| | | | | | | | | | | | Issue: #25714
* | | Merge topic 'normalize-install-destination-paths'Brad King2024-09-204-1/+58
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6a1fac1450 install: Normalize DESTINATION paths 2184fcfb00 Tests: Configure RunCMake.install cases with correct build type 5a8a6dfe81 cmGeneratorExpression: Change Find() parameter type to cm::string_view d810374b3d install(PACKAGE_INFO): Remove outdated TODO comment d13ed01d54 Tests: Remove unused files from RunCMake.install Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9800
| * | | install: Normalize DESTINATION pathsCraig Scott2024-09-194-1/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | install: Add TYPE LIBEXEC for FILES and DIRECTORYChen Linxuan2024-09-182-0/+13
|/ / / | | | | | | | | | Signed-off-by: Chen Linxuan <me@black-desk.cn>
* | | execute_process: Change default ENCODING to UTF-8Brad King2024-09-164-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | execute_process: Document and test ENCODING defaultBrad King2024-09-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default was originally AUTO in commit 2ed473b3b8 (execute_process: Add ENCODING option for Windows child process output, 2016-11-23, v3.8.0-rc1~232^2) but was changed back to NONE by commit 07c3380a6e (execute_process: Restore no-decoding default behavior, 2017-02-13, v3.8.0-rc2~26^2) for CMake 3.8. Later it was accidentally changed back to AUTO by commit b783e62533 (cmExecuteProcessCommand: Port to cmArgumentParser, 2019-03-25, v3.15.0-rc1~270^2) in CMake 3.15 but the documentation was not updated. Document the current default, AUTO, and add a test case to verify it. Issue: #26262
* | | Help/command/execute_process: Improve formatting of ENCODING namesBrad King2024-09-131-4/+11
| | |
* | | Merge topic 'file-archive-workdir'Brad King2024-09-122-35/+63
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | d8a9aabd24 file(ARCHIVE_CREATE): add WORKING_DIRECTORY option d65b5a8e03 Help: Format file(ARCHIVE*) options as definition lists Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9803
| * | | file(ARCHIVE_CREATE): add WORKING_DIRECTORY optionYuri Witte2024-09-112-0/+14
| | | | | | | | | | | | | | | | | | | | Fixes: #25260 Issue: #21653
| * | | Help: Format file(ARCHIVE*) options as definition listsBrad King2024-09-111-36/+50
| | | |
* | | | Merge topic 'cpack-ifw-product-images'Brad King2024-09-122-0/+18
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5b8fa21512 Tests: Add a test covering the CPack IFW Generator 3331c7032f CPack/IFW: Add option for ProductImages URLs d58f90f628 CPack/IFW: Actually ignore missing ProductImages 3c214f2638 CPack/IFW: Fix generation of ProductImages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9798
| * | | | CPack/IFW: Add option for ProductImages URLsJulien Marrec2024-09-112-0/+18
| | | | | | | | | | | | | | | | | | | | Add a `CPACK_IFW_PACKAGE_PRODUCT_IMAGE_URLS` variable for them.
* | | | | 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-113-9/+101
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-093-9/+101
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new CMP0175 policy to preserve backward compatibility for projects that were using unsupported keywords or arguments. Fixes: #26096, #21089, #18976
* | | | | Check*: Add option to pass link directories into checksAliaksandr Averchanka2024-09-092-0/+104
| |/ / / |/| | |
* | | | Merge topic 'cmp0168-populate-nondeclare-regression'Craig Scott2024-09-081-1/+3
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | cbb727ca6b FetchContent: Don't update verify script timestamp if it doesn't change 795e7b44f2 Help: file(CONFIGURE) only updates output file timestamp if it changes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9799
| * | | Help: file(CONFIGURE) only updates output file timestamp if it changesCraig Scott2024-09-061-1/+3
| | | |
* | | | Merge topic 'windows-kernel-mode-driver-includes'Brad King2024-09-052-0/+14
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-032-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-059-0/+152
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | cmExperimental: gate build database support behind a flagBen Boeckel2024-09-034-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given that the feature currently only supports C++ sources and is not formally accepted by ISO yet, gate it behind a flag.
| * | | | | cxxmodules: plumb control data for exporting build databasesBen Boeckel2024-08-278-0/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes the target property, its initializing variable, its initializing environment variable, and updating related docs to mention the new bits.
* | | | | | Merge topic 'doc-cmake_parse_arguments-prefix'Craig Scott2024-09-031-49/+106
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000abe74f Help: Recommend good prefixes for cmake_parse_arguments, expand example bb37d0e1a5 Help: Improve grammar and wording for cmake_parse_arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9788