summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'FindOpenSSL-trust-root-dir' into release-3.27Brad King2023-07-211-1/+1
|\ | | | | | | | | | | | | 791d4fd350 FindOpenSSL: Prefer OPENSSL_ROOT_DIR only if non-empty Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8643
| * FindOpenSSL: Prefer OPENSSL_ROOT_DIR only if non-emptyBrad King2023-07-201-1/+1
| | | | | | | | | | | | | | | | | | | | Since commit 5cc8a69867 (FindOpenSSL: Trust the user's OPENSSL_ROOT_DIR, 2023-05-17, v3.27.0-rc1~71^2) we use `OPENSSL_ROOT_DIR` whenever it is defined, even if it is an empty string. This breaks a pattern in existing projects that define an empty `OPENSSL_ROOT_DIR` cache entry so that `cmake-gui` users can fill it in. Use the value only if non-empty. Issue: #18352
* | Merge topic 'FindCUDAToolkit-libnvrtc-builtins' into release-3.27Brad King2023-07-211-1/+1
|\ \ | |/ |/| | | | | | | | | | | c2601d01d1 FindCUDAToolkit: Fix nvrtc_builtins library name Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !8642
| * FindCUDAToolkit: Fix nvrtc_builtins library nameTomoharu Kitawaki2023-07-201-1/+1
| | | | | | | | | | | | | | | | | | The lib is named `libnvrtc-builtins.so`, not `libnvrtc_builtins.so`. Update the change from commit 2a94c762ed (FindCUDAToolkit: Add support for CUDA::nvrtc_static, 2023-01-20, v3.26.0-rc1~55^2). Apply a fix similar to commit 9688a8ebc2 (FindCUDAToolkit: Fix `nvrtc_builtins_static` library name, 2023-02-03, v3.26.0-rc2~15^2).
* | Merge topic 'armclang-update-version-computation' into release-3.27Brad King2023-07-181-1/+1
|\ \ | |/ | | | | | | | | | | 65fac2fa35 ARMClang: Fix computation of compiler semantic version patch level Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8636
| * ARMClang: Fix computation of compiler semantic version patch levelDaniel Brondani2023-07-181-1/+1
| | | | | | | | | | | | According to ARMClang documentation 6.20, the patch version number should not include the last two digits of `__ARMCOMPILER_VERSION`, which are reserved for internal use by ARM.
* | FindProtobuf: Fix new version number schemeJannik Beyerstedt2023-07-141-6/+4
| | | | | | | | | | | | | | | | | | | | | | Revise the changes from commit fc7dcc6a24 (FindProtobuf: Support new version number scheme, 2023-06-19, v3.27.0-rc3~2^2). Changing the content of `Protobuf_VERSION` to exclude the major version of the library might break code as it can't be used to detect breaking changes in the library any more. However, protoc v22 and up don't print the major version any more, so we need to compare the against a truncated version number, too.
* | Android: Restore platform info and search paths shared with LinuxBrad King2023-07-131-0/+2
| | | | | | | | | | | | | | | | These were accidentally dropped by commit 1373373823 (enable_language: Establish target platform identification variables earlier, 2023-06-06, v3.27.0-rc1~3^2~1). Fixes: #25077
* | Merge topic 'findprotobuf-mingw' into release-3.27Brad King2023-07-071-3/+3
|\ \ | | | | | | | | | | | | | | | | | | e978b3b814 FindProtobuf: Fix linking to shared libraries on MinGW Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8609
| * | FindProtobuf: Fix linking to shared libraries on MinGWمهدي شينون (Mehdi Chinoune)2023-07-051-3/+3
| | | | | | | | | | | | Fixes: #25011
* | | HIP: Fix search for hip-lang CMake package on Fedora distrosBrad King2023-07-051-1/+10
|/ / | | | | | | | | | | | | | | These distros package the hip-lang package under `lib64`, so search it too. This is similar to commit bae57dc281 (HIP: Fix search for hip-lang CMake package on multiarch distros, 2023-05-31, v3.27.0-rc1~28^2). Fixes: #25050
* | FetchContent: Protect ExternalProject keywords from unknown argumentsBrad King2023-06-292-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `ExternalProject_Add` treats all keyword arguments as multi-valued. FetchContent re-orders some keyword arguments w.r.t. unparsed arguments. Add an internal keyword argument to separate the keyword values from following unparsed arguments. This was exposed by commit 550f63447d (ExternalProject/FetchContent: Support relative remote URLs, 2023-04-21, v3.27.0-rc1~156^2) by adding `GIT_REPOSITORY` to the set of re-ordered keyword arguments. This caused its value to absorb following unparsed arguments. Fixes: #25029
* | Merge topic 'FindCxxTest-doc' into release-3.27Brad King2023-06-261-96/+79
|\ \ | | | | | | | | | | | | | | | | | | | | | 676d1da38b FindCxxTest: Modernize documentation formatting dfe0f58962 FindCxxTest: Update link to cxxtest project page Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8589
| * | FindCxxTest: Modernize documentation formattingBrad King2023-06-231-94/+76
| | |
| * | FindCxxTest: Update link to cxxtest project pageBrad King2023-06-231-3/+4
| | |
* | | Merge topic 'support_nvhpc_versions_without_isystem' into release-3.27Brad King2023-06-261-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | f73ae7c510 NVHPC: Support nvfortran versions that don't support isystem Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8588
| * | | NVHPC: Support nvfortran versions that don't support isystemRobert Maynard2023-06-231-0/+4
| |/ / | | | | | | | | | Fixes: #25019
* | | link dependencies: deactivate the featureMarc Chevrier2023-06-231-3/+10
|/ / | | | | | | | | | | | | Unfortunately it breaks in combination with LTO due to a bug in the GNU linker. Fixes: #25014
* | Merge topic 'android-platform-vars' into release-3.27Brad King2023-06-201-5/+5
|\ \ | | | | | | | | | | | | | | | | | | ab66b89a46 Android: Restore platform id vars with legacy toolchain file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8576
| * | Android: Restore platform id vars with legacy toolchain fileBrad King2023-06-201-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Restore definition of `ANDROID` and `UNIX` when `CMAKE_SYSTEM_VERSION` is `1`. This was broken by commit 1373373823 (enable_language: Establish target platform identification variables earlier, 2023-06-06, v3.27.0-rc1~3^2~1). Fixes: #25004
* | | FindProtobuf: Support new version number schemeJannik Beyerstedt2023-06-201-1/+5
|/ / | | | | | | | | | | | | | | | | Protobuf changed it's version number scheme with version 21. The first number (usually the major version) is not synchronized between compiler and library version, but the second and third number are. See https://protobuf.dev/news/2022-05-06/ for more details. Fixes: #24847
* | FindPostgreSQL: Add support for version 15Brad King2023-06-161-2/+2
| |
* | Modules: Restore unnecessary inclusions for compatibilityBrad King2023-06-127-0/+30
| | | | | | | | | | | | | | | | | | | | | | Since commit 03c6ebf2b5 (Modules:Check,GenerateExportHeader: include only what's needed, 2023-03-09, v3.27.0-rc1~327^2) some existing projects broke because they were accidentally relying on indirect inclusion of some check modules. For now, restore the unnecessary includes for compatibility. They can be removed with a policy later. Fixes: #24991 Issue: #24994
* | Merge topic 'FindCUDAToolkit-cupti-nvperf' into release-3.27Brad King2023-06-081-8/+29
|\ \ | | | | | | | | | | | | | | | | | | f9579ffaa6 FindCUDAToolkit: Add cupti nvperf and pcsampling targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8545
| * | FindCUDAToolkit: Add cupti nvperf and pcsampling targetsRobert Maynard2023-06-071-8/+29
| | |
* | | BinUtils: Drop now-unnecessary cross-compiling workaround for Apple hostsBrad King2023-06-071-15/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we added fallbacks to `llvm-{ar,strip}` on Apple hosts in case of cross-compiling because the `APPLE` platform variable was not set w.r.t. the target platform. The platform variable has been fixed, so remove the fallbacks. Issue: #23333
* | | enable_language: Establish target platform identification variables earlierBrad King2023-06-0767-64/+85
| | | | | | | | | | | | | | | | | | | | | | | | Set target platform identification variables like `APPLE` and `LINUX` as soon as the target system is identified. This makes them available during toolchain and binutils selection. Fixes: #23333
* | | kFreeBSD,GNU: Provide multiarch library directory regex earlierBrad King2023-06-066-7/+9
|/ / | | | | | | | | | | | | | | Make `CMAKE_LIBRARY_ARCHITECTURE_REGEX` available while determining compilers before `Platform/{kFreeBSD,GNU}` is loaded. Follow up commit cc737ae829 (Linux: Provide multiarch library directory regex earlier, 2023-05-31).
* | Merge topic 'apple-clang-asm-compiler-id'Brad King2023-06-062-4/+5
|\ \ | | | | | | | | | | | | | | | | | | 8c789bee83 AppleClang: Fix ASM compiler identification Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8537
| * | AppleClang: Fix ASM compiler identificationGregor Jasny2023-06-052-4/+5
| | | | | | | | | | | | | | | Recent AppleClang compilers identify themselves as `Apple clang version 14.0.3 (clang-1403.0.22.14.1)`.
* | | Merge topic 'FindPython-distutils-deprecation'Brad King2023-06-064-52/+28
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 988ac305bd FindPython: update for distutils module deprecation Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8538
| * | | FindPython: update for distutils module deprecationMarc Chevrier2023-06-054-52/+28
| |/ / | | | | | | | | | Fixes: #24956
* | | FindOpenACC: Keep flags together in imported target usage requirementsBrad King2023-06-021-2/+2
|/ / | | | | | | | | | | | | | | If `OpenACC_C_FLAGS` contains `-h acc`, the flag pair needs to be preserved as a shell command fragment, and must not be split by de-duplication with other `target_compile_options`. Fixes: #24963
* | FindOpenMP: Keep flags together in imported target usage requirementsBrad King2023-06-011-4/+2
| | | | | | | | | | | | | | | | If `OpenMP_C_FLAGS` contains `-Xclang -fopenmp`, the flag pair needs to be preserved as a shell command fragment, and must not be split by de-duplication with other `target_compile_options`. Fixes: #24966
* | Merge topic 'ep-tls-verify'Brad King2023-06-013-14/+54
|\ \ | | | | | | | | | | | | | | | | | | | | | dcbc36572f ExternalProject: Respect TLS_VERIFY for git update step 8fdce89f70 Help: Clarify default TLS_VERIFY behavior for git download method Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8516
| * | ExternalProject: Respect TLS_VERIFY for git update stepCraig Scott2023-06-013-13/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Git config options can be passed to git clone before or after the "clone" keyword. If specified before, the config setting is only applied to that command invocation. It acts to override the value in the global or project defaults (the latter doesn't exist for clone). When the config setting is passed after the "clone" keyword, it is saved into the cloned repository's config and will persist for later git operations. The existing implementation expected the latter behavior, but put the config setting before the "clone" keyword and therefore the setting was not persisting to the git update step. Move it to after the "clone" keyword so that it will persist. The submodule handling is different. There is no support for doing a "git submodule update" with a "sticky" config setting. Instead, you have to pass the setting with all such calls. The existing implementation was doing this for the clone step, but not the git update step. Add the config setting there as well so that submodules also effectively have the sslVerify setting persist to the update step too. Fixes: #18948
| * | Help: Clarify default TLS_VERIFY behavior for git download methodCraig Scott2023-05-281-1/+6
| | |
* | | HIP: Fix search for hip-lang CMake package on multiarch distrosBrad King2023-05-313-8/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need `CMAKE_LIBRARY_ARCHITECTURE` to find the package before HIP compiler ABI detection. However, if HIP is the first enabled language, the value is not known until `CMAKE_HIP_LIBRARY_ARCHITECTURE` is determined by the ABI detection step. Resolve this by detecting `CMAKE_HIP_LIBRARY_ARCHITECTURE` from the compiler id output. Fixes: #24562
* | | Linux: Provide multiarch library directory regex earlierBrad King2023-05-312-3/+2
| | | | | | | | | | | | | | | Make `CMAKE_LIBRARY_ARCHITECTURE_REGEX` available while determining compilers before `Platform/Linux` is loaded.
* | | Merge topic 'find-boost-1.82'Brad King2023-05-311-2/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 5cbbe55de8 FindBoost: Add support for Boost 1.82 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8514
| * | | FindBoost: Add support for Boost 1.82huangqinjin2023-05-311-2/+3
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the list of known versions. There is a new header-only library, Boost.MySQL. It has no dependencies and has a core header `<boost/mysql.hpp>`. Run the command cmake -DBOOST_DIR=/path/to/boost_1_82_0 \ -P Utilities/Scripts/BoostScanDeps.cmake to extract dependencies from the 1.82.0 source tree. They are the same as 1.81's dependencies, so just update the version check for warning about newer versions.
* | | Merge topic 'werror_space_fix'Brad King2023-05-311-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | cec6f98018 CMakeDetermineCompilerABI: Avoid removing the flag after -Werror Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !8518
| * | CMakeDetermineCompilerABI: Avoid removing the flag after -WerrorRaul Tambre2023-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The matching became too eager after commit 079ea66468 (CMakeDetermineCompilerABI: Handle NVCC-style -Werror flags, 2020-10-04, v3.19.0-rc1~45^2). When -Werror was specified without a value we would eat the following flag. Prevent this by disallowing "-" as the first character of the flag's value. Fixes: 079ea66468a6ffe0b02c3d6622bc0230fdf455b0 See-also: https://discourse.cmake.org/t/8230
| * | Merge topic 'FindPython-fix-launcher-typo' into release-3.26Brad King2023-05-181-1/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 31faf3945f FindPython: fix interpreter launcher variable spelling Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8487
* | | | Link Step: ensure the correct linker is used for depfile configurationMarc Chevrier2023-05-2810-18/+11
| |_|/ |/| | | | | | | | This is related to MR !8443.
* | | Merge topic 'implicit-link-dir-exclude'Brad King2023-05-261-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 023de565d3 Optionally exclude implicit link directories via environment Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Roscoe A. Bartlett <rabartl@sandia.gov> Merge-request: !8506
| * | | Optionally exclude implicit link directories via environmentBrad King2023-05-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A misconfigured compiler may pass extraneous implicit link directories to its linker. If they are in `CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES`, CMake may generate extra `-L` flags on mixed-language link lines that break linking. Add an environment variable that users can set to work around such misconfiguration of their compilers.
* | | | IntelLLVM: Use compiler driver as linker for MODULE libraries tooWilliam R. Dieter2023-05-251-0/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 79921fb00c (IntelLLVM: Set linker to compiler driver for Windows, 2021-10-19, v3.23.0-rc1~127^2) we default to the compiler driver as linker for executables, shared libraries, and static libraries. Not doing so for shared modules was an oversight. Copying the shared library command line for shared modules fixes the problem (and also is what we do for MSVC). The MSVC linker is fine for many cases, however it does not support GPU offload code generated by the IntelLLVM compilers. Using the compiler driver as linker, or at least a linker that understands the object format, is required for linking shared modules that use GPU offload (e.g., with SYCL or OpenMP). Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
* | | Merge topic 'ep-update-disconnected'Brad King2023-05-235-44/+158
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8cc45e150a ExternalProject: Make hg download method respect UPDATE_DISCONNECTED 1512dc43cb ExternalProject: Avoid reconfigure when updates are disconnected 1d29cf37a1 Tests: Reduce warning noise in ExternalProjectUpdate test Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8498
| * | | ExternalProject: Make hg download method respect UPDATE_DISCONNECTEDCraig Scott2023-05-231-0/+2
| | | |