summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'FindPkgConfig-caching'Brad King2024-01-051-0/+6
|\ | | | | | | | | | | | | | | | | e50aaf8547 FindPkgConfig: Update cache variables after isystem extraction 8fe6196714 FindPkgConfig: Update cache variables after framework extraction Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9109
| * FindPkgConfig: Update cache variables after isystem extractionKai Pastor2024-01-041-0/+3
| | | | | | | | Fixes: #25377
| * FindPkgConfig: Update cache variables after framework extractionKai Pastor2023-12-281-0/+3
| |
* | Merge topic 'check_language_propagate_hip_platform'Brad King2024-01-051-2/+26
|\ \ | | | | | | | | | | | | | | | | | | | | | ce9c6d0994 HIP: Propagate CMAKE_HIP_PLATFORM from/to the test project in check_language 9ba3fc91e5 HIP: Really forward CMAKE_HIP_HOST_COMPILER in check_language(HIP) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9121
| * | HIP: Propagate CMAKE_HIP_PLATFORM from/to the test project in check_languageGergely Meszaros2024-01-041-1/+25
| | | | | | | | | | | | Fixes: #25541
| * | HIP: Really forward CMAKE_HIP_HOST_COMPILER in check_language(HIP)Gergely Meszaros2024-01-031-1/+1
| | | | | | | | | | | | | | | In commit b3e92775ab (HIP: Add CMAKE_HIP_HOST_COMPILER when compiler is NVCC, 2023-09-25, v3.28.0-rc1~44^2~2) we accidentally left this out.
* | | Merge topic 'compute-compiler-linker'Brad King2024-01-042-17/+38
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 459d1cc095 Tests: Verify that linker tool is detected and identified where expected 6aec4739c1 LinkerId: Record detection steps to configure log ba5f8dbba3 LinkerId: Use empty string for unknown linker id 6cbd0658c5 LinkerId: Match Apple linker on all Apple platforms 9324668517 LinkerId: Fix detection of GNU linker id without parenthesis in version output 37bc148870 LinkerId: Fix detection of linker tool without path 6e527c2d38 LinkerId: Fix detection of linker tool for Clang on OpenBSD 455aed3061 LinkerId: Fix detection of linker tool for MSVC ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9086
| * | | LinkerId: Record detection steps to configure logBrad King2024-01-031-0/+7
| | | |
| * | | LinkerId: Use empty string for unknown linker idBrad King2024-01-031-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit c26c6ac488 (Link Step: compute effective linker used by the compiler, 2023-05-27) we used `UNKNOWN` if the linker id is not known. This convention is not used elsewhere, and logic using the linker id is easier when `if(CMAKE_C_COMPILER_LINKER_ID)` is false on unknown id.
| * | | LinkerId: Match Apple linker on all Apple platformsBrad King2024-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | `cmake_determine_linker_id` is only used for macOS because Apple device platforms set `_CMAKE_FEATURE_DETECTION_TARGET_TYPE` to `STATIC_LIBRARY`, but we might as well prepare for them anyway.
| * | | LinkerId: Fix detection of GNU linker id without parenthesis in version outputBrad King2024-01-031-2/+2
| | | |
| * | | LinkerId: Fix detection of linker tool without pathBrad King2024-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | Some compiler drivers invoke the linker tool as just `ld`, with no path, expecting it to be in the `PATH`.
| * | | LinkerId: Fix detection of linker tool for Clang on OpenBSDBrad King2024-01-031-1/+1
| | | | | | | | | | | | | | | | Do not match quotes as part of the path.
| * | | LinkerId: Fix detection of linker tool for MSVCBrad King2024-01-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Previously we matched an entire build system output line and then extracted the relevant portion in a separate brittle step. Match it directly. Use the `CMAKE_LINKER` value directly if available.
| * | | LinkerId: Fix detection of linker tool for GNU on SunOS sparc32Brad King2024-01-031-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | We do not use `-Wl,-v` on SunOS because not all GNU deployments use the `collect2` helper, and those that do do not always print the underlying `ld` command line. Parse the `--with-ld=` option as a fallback.
| * | | LinkerId: Fix detection of linker tool for XL compilersBrad King2024-01-031-0/+2
| | | | | | | | | | | | | | | | | | | | These compilers print an explicit `export XL_LINKER=` line. Parse it separately.
| * | | LinkerId: Fix detection of linker tool for XL as nvcc host compilerBrad King2024-01-031-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When IBM XL is used as the host compiler for nvcc, it generates a comma-separated link line. Parse the `exec:` line syntax separately, as was done in commit b5f20da94d (CMakeParseImplicitLinkInfo supports comma separated link lines, 2019-08-23, v3.16.0-rc1~181^2).
| * | | LinkerId: Prepare detection of linker tool for multiple match attemptsBrad King2024-01-031-8/+12
| | | |
* | | | Merge topic 'revert-ExternalProject-download-byproducts'Brad King2024-01-041-9/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fd3c9876c6 ExternalProject: revert `BYPRODUCTS` for download outputs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9097
| * | | | ExternalProject: revert `BYPRODUCTS` for download outputsBen Boeckel2024-01-031-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode has been reported to not work at all with this when ExternalProject projects share download files. Revert commit 872daff159 (ExternalProject: declare byproducts for the download step, 2023-09-21, v3.28.0-rc1~27^2) pending further investigation. Fixes: #25525
* | | | | Merge topic 'fix-redirect-links'Craig Scott2024-01-011-1/+1
|\ \ \ \ \ | | |_|/ / | |/| | / | |_|_|/ |/| | | | | | | | | | | 5a7927d028 Help: update lua.org links to be HTTPS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9114
| * | | Help: update lua.org links to be HTTPSBen Boeckel2024-01-011-1/+1
| |/ / | | | | | | | | | This is now a permanent redirect, so update links accordingly.
* | | Merge topic 'package-dispatch-apple'Brad King2023-12-202-4/+152
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4ac5a2f866 CMakePackageConfigHelpers: Add generate_apple_architecture_selection_file() b9f81ee9f9 CMakePackageConfigHelpers: Remove outdated documentation summary paragraph 68a03cf3d4 generate_apple_platform_selection_file: Add INSTALL_PREFIX option ff21f0f70f Tests: Verify generate_apple_platform_selection_file file paths Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9092
| * | | CMakePackageConfigHelpers: Add generate_apple_architecture_selection_file()Brad King2023-12-192-0/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a helper to select architecture-specific implementations of a package on an Apple-specific platform. Fixes: #25516
| * | | CMakePackageConfigHelpers: Remove outdated documentation summary paragraphBrad King2023-12-191-3/+0
| | | |
| * | | generate_apple_platform_selection_file: Add INSTALL_PREFIX optionBrad King2023-12-191-1/+17
| | | | | | | | | | | | | | | | This is necessary to forward to `configure_package_config_file`.
* | | | Merge topic 'FindCURL-pkg-config'Brad King2023-12-201-2/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ab6b44b1bb FindCURL: Fix parsing protocols/features from pkg-config output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9090
| * | | | FindCURL: Fix parsing protocols/features from pkg-config outputlingbin2023-12-191-2/+4
| | |_|/ | |/| | | | | | | | | | | | | | | | | | Previously `find_package(CURL COMPONENTS HTTP)` failed because the `CURL_SUPPORTED_PROTOCOLS` variable returned by pkg-config is a command-line fragment, but we need a semicolon-separated list.
* | | | Merge topic 'UsePkgConfig-trailing-whitespace'Brad King2023-12-201-5/+4
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | 61436858e4 UsePkgConfig: Restore removal of trailing whitespace from pkg-config output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9094
| * | UsePkgConfig: Restore removal of trailing whitespace from pkg-config outputJason E. Hale2023-12-191-5/+4
| | | | | | | | | | | | | | | | | | Since commit f73a5bfaa9 (UsePkgConfig: Replace exec_program() with execute_process(), 2023-07-24, v3.28.0-rc1~321^2~6), trailing whitespace was introduced into libraries linked, which violates CMP0004.
| * | Merge topic 'FindCUDAToolkit-cupti' into release-3.28Brad King2023-12-151-3/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 04959e0285 Tests: Verify CUDA::cupti existence on a subset of machines 09a3c8b46b CUDAToolkit: Correctly search all include paths from compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9072
* | \ \ Merge topic 'gtest_discover_tests_error_message'Brad King2023-12-191-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2ea216a6bb GoogleTest: Add working directory to gtest_discover_tests error message Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9083
| * | | | GoogleTest: Add working directory to gtest_discover_tests error messageAlexander Krabler2023-12-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the working directory didn't exist, the old message just says: Error running test executable. Path: '<Path to test executable>' Result: No such file or directory Output: This leads the user to the conclusion that the test executable doesn't exist, which isn't true. Make the true cause visible by reporting the working directory in the error message.
* | | | | Merge topic 'package-dispatch-apple'Brad King2023-12-192-1/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc5098429b CMakePackageConfigHelpers: Clarify Apple platform selection usage error 3b9586671c CMakePackageConfigHelpers: Clarify Apple platform selection template name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9087
| * | | | | CMakePackageConfigHelpers: Clarify Apple platform selection usage errorBrad King2023-12-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | `generate_apple_platform_selection_file` requires `INSTALL_DESTINATION`.
| * | | | | CMakePackageConfigHelpers: Clarify Apple platform selection template nameBrad King2023-12-182-1/+1
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | The template added by commit 37bc3400cd (CMakePackageConfigHelpers: Add generate_apple_platform_selection_file(), 2023-11-03) is specific to Apple platforms. Give it an Apple-specific name.
* | | | | CMakePackageConfigHelpers: Fix generate_apple_platform_selection_file docsBrad King2023-12-181-43/+45
|/ / / / | | | | | | | | | | | | Previously the documentation was not rendered correctly.
* | | | Merge topic 'package-dispatch-apple'Brad King2023-12-181-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1dd4a9baff Tests: Cover generate_apple_platform_selection_file on all platforms 3148db4533 CMakePackageConfigHelpers: Fix Apple platform selection for tvOS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9077
| * | | | CMakePackageConfigHelpers: Fix Apple platform selection for tvOSBrad King2023-12-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Fix the tvOS SDK name in commit 37bc3400cd (CMakePackageConfigHelpers: Add generate_apple_platform_selection_file(), 2023-11-03).
* | | | | Merge topic 'fc-provider-find-package-args'Craig Scott2023-12-171-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0415304970 FetchContent: Fix FIND_PACKAGE_ARGS not being passed to dep providers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9080
| * | | | | FetchContent: Fix FIND_PACKAGE_ARGS not being passed to dep providersCraig Scott2023-12-161-2/+2
| |/ / / / | | | | | | | | | | | | | | | Fixes: #25504
* | | | | Merge topic 'doc-fc-fully-disconnected'Craig Scott2023-12-171-0/+11
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | 18c514a86d Help: Add note not to use FETCHCONTENT_FULLY_DISCONNECTED on first run Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9081
| * | | | Help: Add note not to use FETCHCONTENT_FULLY_DISCONNECTED on first runCraig Scott2023-12-161-0/+11
| |/ / / | | | | | | | | | | | | Fixes: #25481
* | | | Merge topic 'swift-split-compilation-model'Brad King2023-12-161-21/+51
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 9bed4f4d81 Swift/Ninja: Split compilation model 64b3367845 cmGlobalGenerator: Allow passing language to GetLangaugeOutputExtension Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8907
| * | | Swift/Ninja: Split compilation modelEvan Wilde2023-12-151-21/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Splitting the Swift build into an object build and a separate link step, instead of building and linking in one step. The immediate benefit is LSP support because we are able to emit compile-commands for Swift files now. Additionally, it is possible to specify flags to the compile step, enabling folks to emit C and C++ headers from their Swift builds for C/C++ interop, without needing custom commands. Eventually, this gives us a path toward working object libraries. Object Libraries: - Object libraries don't work today because CMake doesn't emit targets for object libraries into the Ninja build file. - tl;dr: Object libraries work if they aren't WMO. Still need work to make WMO'd object libraries work. Object libraries still don't completely work with this patch because, while we emit the targets, the `TARGET_OBJECTS` generator expression expansion has a separate mechanism for determining what the names of the objects are based on the input source files, so targets that depend on an object library built with a whole-module optimization will depend on objects based on the name of the source file instead of the actual emitted object file. These features require being able to accurately model wholemodule builds though, because we actually need to track object files and WMO affects what objects are emitted. For that, we require CMP0157 use the NEW policy. When it's OLD, we have to fall back on the old behavior and cannot provide object libraries or the compile-commands for LSP. Issue: #25308
* | | | Merge topic 'FindCUDAToolkit-cupti'Brad King2023-12-151-3/+3
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | 04959e0285 Tests: Verify CUDA::cupti existence on a subset of machines 09a3c8b46b CUDAToolkit: Correctly search all include paths from compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9072
| * | | CUDAToolkit: Correctly search all include paths from compilerRobert Maynard2023-12-141-3/+3
| | | | | | | | | | | | | | | | | | | | The CUDAToolkit usage of `find_path( PATHS )` was incorrectly quoting a list of paths causing none of them to be used.
* | | | Merge topic 'FindBoost-1.84'Brad King2023-12-151-1/+2
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 9dc0392df0 FindBoost: Add support for Boost 1.84 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9075
| * | | FindBoost: Add support for Boost 1.84Brad King2023-12-141-1/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the list of known versions. Run the command cmake -DBOOST_DIR=/path/to/boost_1_84_0 \ -P Utilities/Scripts/BoostScanDeps.cmake to extract dependencies from the 1.84.0 source tree. They are the same as 1.83's dependencies, so just update the version check for warning about newer versions. Fixes: #25499
| * | Merge topic 'FindMatlab-version' into release-3.28Brad King2023-12-141-2/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 0f6e9d0658 FindMatlab: Fix processing of multiple versions from Windows Registry Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9074