summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* ExternalProject: Restore driving install through build systemBrad King2023-03-021-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 66b5d51f38 (ExternalProject: Install CMake projects using 'cmake --install', 2022-09-08, v3.25.0-rc1~150^2). It changed the ExternalProject install step command from: cmake --build <dir> --target install --config <cfg> to: cmake --install <dir> --config <cfg> The latter command no longer runs the external project build system during the install step. We could consider using the commands: cmake --build <dir> --target all --config <cfg> cmake --install <dir> --config <cfg> as the install step, but if `CMAKE_SKIP_INSTALL_ALL_DEPENDENCY` is used in the external project, that can change semantics too. Revert the original change pending further investigation on other ways to support its motivating use case. Add a test covering the previously-regressed use case. Fixes: #24567 Issue: #23946
* Android: Provide CMAKE_ANDROID_NDK_VERSION with NDK legacy toolchain fileBrad King2023-02-062-1/+3
| | | | | | | | | | | | | | | | This variable has been provided since commit 746906242d (Android: Detect NDK version number, 2021-02-26, v3.20.0-rc3~1^2~3) when using CMake's NDK support or the modern NDK toolchain file. Since commit 005e2cdfb0 (Android: Do not use gold for ndk >= r22, 2021-02-26, v3.20.0-rc3~1^2) we need the value in our compiler/platform information files, so provide it when using the NDK legacy toolchain file too. Revert commit 1c86e397fe (Android/Clang: Tolerate undefined CMAKE_ANDROID_NDK_VERSION, 2022-09-16, v3.25.0-rc1~118^2) since the variable should now always be defined. Issue: #21772 Fixes: #24386
* Merge topic 'FindPython-CMP0007-NEW' into release-3.25Brad King2023-01-241-0/+2
|\ | | | | | | | | | | | | 486b3c0850 FindPython: Policy CMP0007 must be set to NEW Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8104
| * FindPython: Policy CMP0007 must be set to NEWMarc Chevrier2023-01-211-0/+2
| | | | | | | | Fixes: #24306
* | FindOpenSP: Use pkg-config only as hints for main code pathKefu Chai2023-01-201-34/+39
|/ | | | | | | | | | | | | | | | | | | | | | | | | | before this change, pkg_check_modules(.. IMPORTED_TARGET GLOBAL) is used for creating an imported target from which another imported interface library named OpenSP::OpenSP is created. but pkg-config does not account for all of CMake's other search behavior controls, such as CMAKE_FIND_ROOT_PATH. neither does it export the full path with OpenSP_LIBRARY. after this change, the paths found by pkg-config are only used as hints for the find_*() commands. and some cleanup are included: * be QUIET when calling find_package(PkgConfig ..) and pkg_check_modules(..) as they are distracting from user's point of view. what matters is the output of find_package_handle_standard_args() * parse the version and check for the existance of symbol as long as header path is found. because they only use header files. * define OpenSP_LIBRARY as long as it exists. this just follows the convention. as OpenSP_FOUND implies a valid OpenSP_LIBRARY. * wrap and intent multi-line command calls for better readability * check OpenSP_FOUND before adding OpenSP::OpenSP, it's more idiomatic. Fixes: #24313 Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* FindCUDAToolkit: Handle CUDA::nvToolsExt not existingRobert Maynard2023-01-161-1/+1
| | | | Fixes #24275
* Merge topic 'implicit-includes' into release-3.25Brad King2023-01-131-2/+3
|\ | | | | | | | | | | | | | | 607bccb4ef Restore implicit include directory extraction for adaptive relative paths Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8067
| * Restore implicit include directory extraction for adaptive relative pathsBrad King2023-01-121-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the logic added by commit ef41d49812 (Fix implicit include directory extraction for adaptive relative paths, 2019-04-08, v3.14.2~5^2) to account for the new `try_compile` work directory used for the ABI check since commit 2edf0fc6d7 (Modules: Use new keyword-dispatched try_compile signature, 2022-09-13, v3.25.0-rc1~144^2). Paths relative to the work directory will now have one more `../` in them, so update the test data to match. Fixes: #24279
* | Merge topic 'IntelLLVM-msvc-no-cxx11' into release-3.25Brad King2023-01-131-2/+2
|\ \ | | | | | | | | | | | | | | | | | | 88f9fdcb03 IntelLLVM: Avoid unnecessary -Qstd=c++11 flag on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8069
| * | IntelLLVM: Avoid unnecessary -Qstd=c++11 flag on WindowsBrad King2023-01-121-2/+2
| |/ | | | | | | | | | | | | | | The IntelLLVM compiler, for compatibility with MSVC on Windows, always runs with support for at least C++14. The `-Qstd=c++11` flag just causes a warning that it is unused. Fixes: #24316
* | Merge branch 'backport-IntelLLVM-no-icpx-on-Windows'Brad King2023-01-121-1/+7
|\ \ | |/ |/|
| * IntelLLVM: Avoid finding not-yet-supported icpx on WindowsMichael Hirsch2023-01-121-1/+7
| | | | | | | | | | | | | | | | | | | | Intel oneAPI 2023.0 added the `icpx` compiler front-end on Windows. It uses a GNU-like command-line, and is not yet supported by CMake. Avoid finding `icpx` as the CXX compiler on Windows until support is added. Fixes: #24266 Issue: #24314
* | FindBoost: Add Boost 1.81 supportleha-bot2023-01-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the list of known versions. There is a new header-only library, Boost.URL. It has no dependencies and has a core header `<boost/url.hpp>`. Run the command cmake -DBOOST_DIR=/path/to/boost_1_81_0 \ -P Utilities/Scripts/BoostScanDeps.cmake to extract dependencies from the 1.81.0 source tree. They are the same as 1.80's dependencies, so just update the version check for warning about newer versions.
* | Help: Clarify and update SYSTEM-related docsCraig Scott2022-12-171-6/+11
| |
* | ASM_MASM: Populate MSVC debug information format abstraction tableBrad King2022-12-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 0e96a20478 (MSVC: Add abstraction for debug information format, 2022-08-25, v3.25.0-rc1~142^2~1) we overlooked populating the runtime library selection flags for the Microsoft assembler. Its compiler id is `MSVC`, so our generators expect the table to be populated. It only supports `Embedded` debug info. Use empty flags for the other formats. Without this fix, enabling the `ASM_MASM` language with policy `CMP0141` set to `NEW` causes an error due to the missing table entries. Fixes: #24249
* | CUDA: Add support for cuda_std_20 for nvcc 12.0+Robert Maynard2022-12-131-0/+12
| | | | | | | | CUDA 12.0 has been released with support for `-std=c++20`.
* | Merge topic 'CheckSymbolExists-restore-newline' into release-3.25Brad King2022-12-051-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 9273b8f421 CheckSymbolExists: Restore newline at end of test source Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Petr Nechaev <petr.nechaev@cogentembedded.com> Merge-request: !7979
| * | CheckSymbolExists: Restore newline at end of test sourceAndrey Vostrikov2022-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit db76876db5 (Modules: Use new SOURCES_FROM_* try_compile (1/2), 2022-09-26, v3.25.0-rc1~74^2~1) accidentally dropped the final newline of the test source, which was previously provided by the input to `configure_file`. The C standard requires a newline at the end of file, so add one explicitly. Signed-off-by: Andrey Vostrikov <andrey.vostrikov@cogentembedded.com>
* | | FetchContent: Don't pass SYSTEM through to sub-buildCraig Scott2022-12-021-0/+3
|/ / | | | | | | | | | | | | | | | | If we don't filter out SYSTEM from the arguments we pass through to ExternalProject_Add(), it gets appended as a list item to whatever arguments precede it because ExternalProject_Add() doesn't recognize it as a keyword. Fixes: #24201
* | Merge topic 'source-from-var' into release-3.25Brad King2022-11-292-4/+6
|\ \ | | | | | | | | | | | | | | | | | | f6b99c5087 Check*: Restore support for arbitrary result variable names Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7960
| * | Check*: Restore support for arbitrary result variable namesZhong Ruoyu2022-11-282-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit db76876db5 (Modules: Use new SOURCES_FROM_* try_compile (1/2), 2022-09-26, v3.25.0-rc1~74^2~1) and commit 41f7b1169a (Modules: Use new SOURCES_FROM_* try_compile (2/2), 2022-09-26, v3.25.0-rc1~74^2) the switch to `SOURCE_FROM_*` required a stronger precondition (the second argument to check_include_files must not have path components) than before (any variable name could be used). Fix that by transforming the variable name to a C identifier before feeding it to try_compile as a filename. The filename is unspecified by the documentation, and the file itself is only temporary, so that should work fine. I have gone through all the occurrences of `SOURCE_FROM_*`, and identified these two that require changes. The rest should work fine as the filenames do not depend on input variable names. Fixes: #24204
* | | Merge topic 'FindRuby-doc-fix' into release-3.25Brad King2022-11-291-3/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 0d7f40a5c4 FindRuby: Remove documentation for non-existent Ruby_ROOT_DIR Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7954
| * | | FindRuby: Remove documentation for non-existent Ruby_ROOT_DIRHannes Braun2022-11-281-3/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | Documentation was added by commit 905d5667e8 (FindRuby: Add support for RVM installations, 2020-03-23, v3.18.0-rc1~497^2), but this feature was never implemented. Closes: #21528
* | | Merge topic 'android-no-LINUX' into release-3.25Brad King2022-11-291-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 19509249a5 Android: Revert setting LINUX variable on Android target systems Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Nevala <robert.nevala@king.com> Acked-by: n00b42 <github.com@mail.msdigital.de> Merge-request: !7963
| * | | Android: Revert setting LINUX variable on Android target systemsBrad King2022-11-281-0/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 62cd3904bf (variable: Set LINUX variable on Linux target systems, 2022-08-10, v3.25.0-rc1~320^2), the `Platform/Android` module inherits the `LINUX` variable setting from `Platform/Linux`. While Android may use a Linux kernel, `CMAKE_SYSTEM_NAME` is not `Linux`, and the platform does not follow conventions of most Linux distributions. Fixes: #24196
* | | Merge topic 'msvc-cxx-no-optin-experimental-flag' into release-3.25Brad King2022-11-291-1/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 12e4bc73cb MSVC: don't opt into dyndep support Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7965
| * | | MSVC: don't opt into dyndep supportBen Boeckel2022-11-281-1/+0
| |/ / | | | | | | | | | | | | | | | | | | Instead, just set the variables for how scanning works since that is part of the compiler mechanisms. Fixes: #24198
* | | Merge topic 'revert-find_library-msvc-libfoo.a' into release-3.25Brad King2022-11-291-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 955d6245c1 MSVC: Revert "Teach find_library to consider the 'libfoo.a' naming convention" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7962
| * | | MSVC: Revert "Teach find_library to consider the 'libfoo.a' naming convention"Brad King2022-11-281-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit be848a71b0 (MSVC: Teach find_library to consider the 'libfoo.a' naming convention, 2022-09-19, v3.25.0-rc1~111^2). When targeting the MSVC ABI, this causes GNU-ABI libraries to be found in cases they were not previously, and broke existing builds. Revert the change pending further discussion on how to handle the motivating use case. Issue: #23975 Fixes: #24168
* | | Merge topic 'mingw-windres' into release-3.25Brad King2022-11-292-7/+11
|\ \ \ | |/ / |/| | | | | | | | | | | | | | b47092fddb MinGW: Fix regression when windres is not found Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7964
| * | MinGW: Fix regression when windres is not foundBrad King2022-11-292-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix in commit e9755bc7c1 (MinGW: Restore using windres when toolchain-prefixed name is not available, 2022-08-15, v3.24.1~4^2) incorrectly listed two entries in `CMAKE_RC_COMPILER_INIT`, which is only meant to have one value. Revise the logic to support multiple platform-specific names for the Windows Resource Compiler while still only using one name as the fallback when it is not found. Fixes: #24190 Issue: #23841
* | | FindCUDA: Do not use CUDA_nppicom_LIBRARY in CUDA 11.0+Oleksii Udod2022-11-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Extend the change from commit 1d9f2f9714 (FindCUDA: Do not search for the deprecated nppicom when CUDA >= 11, 2020-06-22, v3.18.0-rc3~14^2) to also not use the `CUDA_nppicom_LIBRARY` variable. Issue: #20845
* | | FindCUDAToolkit: Handle toolkits that don't provide nvptxcompilerRobert Maynard2022-11-171-1/+3
| | | | | | | | | | | | | | | | | | Some versions of the CUDA toolkit don't provide any static libraries, and therefore we need to handle that `nvptxcompiler_static` might not be found
* | | CPack/IFW: Add support for QtIFW 4.5Erlend E. Aasland2022-11-151-0/+2
| | | | | | | | | | | | Fixes: #24164
* | | Merge topic 'msvc-19.34-cpp-modules' into release-3.25Brad King2022-11-141-0/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0e9782b336 msvc: bless MSVC 19.34 support for C++ modules as experimental Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7745
| * | | msvc: bless MSVC 19.34 support for C++ modules as experimentalBen Boeckel2022-11-111-0/+12
| | | | | | | | | | | | | | | | Visual Studio 17.4 now contains official support for what CMake needs.
* | | | IAR: Fix ASM compiler architecture detectionFelipe Torrezan2022-11-111-4/+3
|/ / / | | | | | | | | | | | | | | | | | | Narrow the regex to match the actual supported architectures, avoiding mismatched detection. Fixes: #24145
* | | Merge topic 'sphinx-linkcheck' into release-3.25Brad King2022-11-0817-32/+32
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 435b0c573c Help: Fix some redirects reported with sphinx linkcheck ac5295a9de Help: Fix broken external links found by sphinx linkcheck Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7876
| * | | Help: Fix some redirects reported with sphinx linkcheckAlex Turbov2022-11-0714-28/+29
| | | | | | | | | | | | | | | | Mostly it's about replace `http:` with `https:` protocol.
| * | | Help: Fix broken external links found by sphinx linkcheckAlex Turbov2022-11-073-4/+3
| | | |
* | | | Merge topic 'FindOpenSSL-mingw-lib64' into release-3.25Brad King2022-11-081-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ed24414eee FindOpenSSL: Search "lib64" for mingw 64-bit installs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7875
| * | | | FindOpenSSL: Search "lib64" for mingw 64-bit installsklytje2022-11-071-0/+2
| |/ / /
* | | | Tasking: Remove CMAKE_SYSTEM_PROCESSOR support per CMP0123Christoph Seitz2022-11-071-32/+0
|/ / / | | | | | | | | | | | | | | | | | | Architecture specific compile options should be set through toolchain files. Fixes: #24115
* | | Merge topic 'tasking-pic' into release-3.25Brad King2022-11-041-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7e612977b9 Tasking: Fix PIC option for Tasking Toolset Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Christoph Seitz <christoph.seitz@posteo.de> Merge-request: !7862
| * | | Tasking: Fix PIC option for Tasking ToolsetGordon Jess2022-11-031-1/+1
| | | | | | | | | | | | | | | | Fixes: #24114
* | | | Merge topic 'correct_nvptxcompiler_not_linking_to_threads' into release-3.25Brad King2022-11-031-2/+4
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | 62f13ed588 FindCUDAToolkit: Restore usage from multiple directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7859
| * | | FindCUDAToolkit: Restore usage from multiple directoriesRobert Maynard2022-11-021-2/+4
| | | | | | | | | | | | | | | | Fixes #24119
* | | | IAR: Restore support for CMAKE_CXX_FLAGS_INITDaniel Schürmann2022-11-011-2/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to commit a9073db736 (IAR: update language specification detection, 2021-09-23, v3.22.0-rc1~83^2) the `--c++`/`--eec++` flags were stored in `CMAKE_IAR_CXX_FLAG` so that they would be used as part of the `CMAKE_CXX_COMPILE_OBJECT` rule variable. That commit moved the flags to `CMAKE_CXX_FLAGS`, which also broke initialization of `CMAKE_CXX_FLAGS` from `CMAKE_CXX_FLAGS_INIT`. Restore the original approach. Fixes: #24111
* | | FindCUDAToolkit: Add nvptxcompiler_static dependency on Threads::ThreadsRobert Maynard2022-10-311-1/+2
| | |
* | | Merge topic 'ArchLinux-lib-dir' into release-3.25Brad King2022-10-311-3/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 988b9928e4 Linux: Avoid finding libraries using lib64 on ArchLinux Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Felix Yan <felixonmars@archlinux.org> Merge-request: !7849