summaryrefslogtreecommitdiff
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* COMPILE_WARNING_AS_ERROR: Fix internal formatting of options tableBrad King2022-10-072-2/+2
| | | | | | | | In commit 76a08cd253 (COMPILE_WARNING_AS_ERROR: Add options to treat warnings as errors, 2022-04-21, v3.24.0-rc1~173^2) we formatted the options table entries as command-line string fragments. Since they are part of the `CMAKE_${lang}_COMPILE_OPTIONS_*` tables, they should be formatted as `;`-separated lists of compiler options.
* CPack/IFW: Add support for QtIFW 4.4Erlend E. Aasland2022-10-051-0/+1
| | | | Fixes: #24027
* LLVMFlang: Add support for Windowsمهدي شينون (Mehdi Chinoune)2022-09-211-0/+2
|
* FindMatlab: add R2022b 9.13 version mapMichael Hirsch2022-09-161-0/+1
|
* FindMatlab: Add MEX binary file suffix for Apple Silicon native MatlabMichael Hirsch2022-09-141-1/+5
| | | | The Matlab MEX binary file suffix is distinct for Apple Silicon.
* Merge topic 'fetchcontent-redirect-version-exact' into release-3.24Brad King2022-09-122-4/+10
|\ | | | | | | | | | | | | 48b380c961 FetchContent: Ignore EXACT for redirected find_package() calls Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7665
| * FetchContent: Ignore EXACT for redirected find_package() callsCraig Scott2022-09-112-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | When FetchContent_MakeAvailable() populates a dependency for which find_package() integration is enabled, all future calls to find_package() MUST succeed using the contents of the redirection directory. The generated config version file was not handling calls where the EXACT keyword was given, resulting in such calls rejecting the redirection directory's contents and continuing its search. It is not allowed to do that. Fix the generated file to also set PACKAGE_VERSION_EXACT to true so that calls with EXACT now accept it, as was originally intended. Fixes: #23950
* | Merge topic 'FortranCInterface-LLVMFlang' into release-3.24Brad King2022-09-122-3/+5
|\ \ | | | | | | | | | | | | | | | | | | 0f5b6dd215 FortranCInterface: Add support for LLVMFlang mangling Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7658
| * | FortranCInterface: Add support for LLVMFlang manglingGilles Gouaillardet2022-09-092-3/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following `module.f90` file module mymodule contains subroutine mysub() end subroutine end module when compiled with `flang-new` (from LLVM 15.0.0) generate the `_QMmymodulePmysub` symbol. $ flang-new -c module.f90 $ nm module.o 0000000000000000 T _QMmymodulePmysub This commit fixes the regular expressions accordingly.
* | FetchContent: Fix unsetting wrong variable name after provider returnsCraig Scott2022-09-101-1/+1
|/ | | | | | | | | | | The unset() command was using __cmake_contentNameLower before that variable was restored from the __cmake_fcCurrentVarsStack. That means if there had been a nested call to FetchContent_MakeAvailable(), the wrong variable name would have been cleared (the nested name instead of the one from the current call). That would have left the variable set upon return, blocking the dependency provider from seeing any further calls to FetchContent_MakeAvailable() in the current variable scope or below for the current dependency.
* Help: Fix typo in FetchContent example, extras should read extraMathieu Malaterre2022-09-091-4/+4
| | | | | Amends 29e31e2825a (Packages: Integrate FetchContent and find_package(), 2022-04-28)
* Merge topic 'zlib-windows-cross-compile-fix' into release-3.24Brad King2022-09-071-4/+20
|\ | | | | | | | | | | | | 67b6f1a09b FindZLIB: fix CMAKE_FIND_LIBRARY_PREFIXES being unset when it was empty Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7647
| * FindZLIB: fix CMAKE_FIND_LIBRARY_PREFIXES being unset when it was emptyDaniel Scharrer2022-09-061-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMAKE_FIND_LIBRARY_PREFIXES and CMAKE_FIND_LIBRARY_SUFFIXES have different behavior when undefined and when defined but empty: Empty means to use an empty prefix/suffix while undefined means to use a hardcoded default for the platform we are running on. Unfortunately, set(a ${b}) will undefine a when b is empty, meaning that when targeting a platform where either of these variables is empty (e.g. Windows where CMAKE_FIND_LIBRARY_PREFIXES is empty) the unpatched FindZLIB code ends up unsetting that variable, causing all subsequent find_library calls to use the hardcoded default for the runtime platform (e.g. "lib" for CMAKE_FIND_LIBRARY_PREFIXES on Linux). On the other hand, set(a "${b}") will always define a to be empty but defined so we have to do this dance to fully preserve the state of these variables.
* | Merge topic 'findCUDAToolkit_declare_deps_for_targets_once' into release-3.24Brad King2022-09-071-17/+20
|\ \ | | | | | | | | | | | | | | | | | | f0918fe505 FindCUDAToolkit: Correctly state cusolver and cublas dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7633
| * | FindCUDAToolkit: Correctly state cusolver and cublas dependenciesRobert Maynard2022-09-021-17/+20
| | | | | | | | | | | | Fixes #23920
* | | Merge topic 'doc-fetchcontent-gtest-example' into release-3.24Craig Scott2022-09-051-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | daa2a6cda6 Help: Fix wrong casing of GTest in FetchContent integration example Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7644
| * | | Help: Fix wrong casing of GTest in FetchContent integration exampleCraig Scott2022-09-041-2/+2
| | |/ | |/|
* | | ExternalProject: note the default of `GIT_TAG` being `master`Ben Boeckel2022-09-021-0/+3
|/ / | | | | | | | | | | Reported on Discourse: https://discourse.cmake.org/t/fetchcontent-makeavailable-invalid-reference-master/6386
* | FindPostgreSQL: Add brew-style directories to search pathparkesb2022-08-311-0/+3
| | | | | | | | | | As of 14.5, homebrew names PostgreSQL directories with the version number, e.g., `postgresql@14`.
* | Merge topic 'CMAKE_FIND_USE_INSTALL_PREFIX-support-staging-prefix' into ↵Brad King2022-08-311-3/+9
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | release-3.24 0fc10bb19b CMAKE_FIND_USE_INSTALL_PREFIX considers CMAKE_STAGING_PREFIX 43d31c5198 cmFindBase: Refactor CMAKE_FIND_USE_INSTALL_PREFIX handling Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7623
| * | CMAKE_FIND_USE_INSTALL_PREFIX considers CMAKE_STAGING_PREFIXRobert Maynard2022-08-301-3/+9
| | | | | | | | | | | | Fixes #23900
* | | FindBoost: Add support for Boost 1.80Kargatum2022-08-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the list of known versions. Run the command cmake -DBOOST_DIR=/path/to/boost_1_80_0 \ -P Utilities/Scripts/BoostScanDeps.cmake to extract dependencies from the 1.80.0 source tree. They are the same as 1.79's dependencies, so just update the version check for warning about newer versions.
* | | FindCUDAToolkit: Search the cuda toolkit include path for cuptiRobert Maynard2022-08-241-1/+1
|/ /
* | FindVulkan: Restore tolerance of unknown FATAL_ERROR componentBrad King2022-08-171-0/+10
| | | | | | | | | | | | | | | | | | | | | | `find_package(Vulkan REQUIRED FATAL_ERROR)` calls exist in the wild, but `find_package` does not have a `FATAL_ERROR` option. We silently tolerated such calls prior to commit 6e4d20921d (FindVulkan: Add component for `shaderc_combined`, 2022-05-18, v3.24.0-rc1~111^2~5), by treating the argument as a component and ignoring it. Restore tolerance by removing the component and warning about it. Fixes: #23849
* | MinGW: Restore using windres when toolchain-prefixed name is not availableBrad King2022-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 55ba10dcfd (MSYS/MinGW Makefiles: Simplify selection of windres as Resource Compiler, 2022-05-26, v3.24.0-rc1~82^2) the `MinGW Makefiles` and `MSYS Makefiles` generators no longer specify the plain `windres` name for the MinGW resource compiler. Instead, the name is specified in our MinGW platform information module. After the change in commit af4adf6aa9 (MinGW: Fix default windres selection when cross-compiling, 2020-03-25, v3.18.0-rc1~492^2), when cross-compiling, we only specify the toolchain-prefixed name of the tool, which may not be available in all environments. If the toolchain-prefixed name is not available, fall back to the plain `windres` name. We already use this approach for other binutils. Fixes: #23841
* | Merge topic 'warning-as-error-ti-compiler' into release-3.24Brad King2022-08-151-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 1cd65dfa0e TI compiler: Add support for COMPILE_WARNING_AS_ERROR target property Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Josef Angstenberger <code@jtxa.de> Merge-request: !7560
| * | TI compiler: Add support for COMPILE_WARNING_AS_ERROR target propertyCraig Scott2022-08-121-0/+1
| | |
* | | Merge topic 'mingw-flto' into release-3.24Brad King2022-08-151-1/+8
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 7b2a87c2eb IPO: Do not use -flto=auto with GCC 10.x on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7559
| * | IPO: Do not use -flto=auto with GCC 10.x on WindowsBrad King2022-08-101-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Revise the change from commit fe57410b33 (IPO: Use -flto=auto if compiler is GCC >= 10.1, 2022-06-22, v3.24.0-rc2~2^2) to require at least GCC 11 on Windows. Fixes: #23836 Issue: #23640
* | | FindThreads: Skip check for -pthread flag when targeting the MSVC ABIBrad King2022-08-081-1/+5
|/ / | | | | | | | | | | | | | | | | | | Since commit 3257c34073 (FindThreads: avoid failing in AIX when using -D_XOPEN_SOURCE=500, 2022-04-30, v3.24.0-rc1~197^2) we no longer check for `pthreads.h` before checking for the `-pthread` flag. Compilers targeting the MSVC ABI do not have such a flag, so avoid performing the check unnecessarily. Fixes: #23829
* | Merge topic 'fetchcontent-set-CMAKE_VERIFY_INTERFACE_HEADER_SETS' into ↵Brad King2022-08-041-0/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | release-3.24 2a9cc3e8e8 FetchContent: Disable header set verification for dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7535
| * | FetchContent: Disable header set verification for dependenciesCraig Scott2022-08-041-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CMAKE_VERIFY_INTERFACE_HEADER_SETS variable is intended to be under the control of the user. It doesn't discriminate between header sets defined in the main project and those defined by dependencies brought into the build directly via FetchContent. Developers will usually only be interested in verifying the main project's header sets, not those from dependencies. Make the variable effectively only enable header set verification of the main project by turning it off during FetchContent_MakeAvailable() calls. The user still has variables like CMAKE_PROJECT_INCLUDE and CMAKE_PROJECT_<projectName>_INCLUDE available to them if they want to enable verification of all or specific dependencies respectively. Fixes: #23808
* | | FindLua: Improve documentation formattingMichael Hirsch2022-08-031-13/+16
|/ / | | | | | | | | | | | | Since commit cb811d11ce (Help: Improve description of modules, 2019-04-12, v3.15.0-rc1~210^2) we've had two `::` prompts for the preformatted block listing the result variables. Convert the block to a definition list.
* | Merge topic 'FindGTest-gmock-needs-gtest' into release-3.24Brad King2022-08-011-1/+1
|\ \ | | | | | | | | | | | | | | | | | | 1aa95e1a3b FindGTest: Create the gmock targets only when GTest has been found Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7523
| * | FindGTest: Create the gmock targets only when GTest has been foundRobert Maynard2022-07-291-1/+1
| |/ | | | | | | | | | | | | | | When we introduced the `GTest::gmock` and `GTest::gmock_main` targets in commit 50bf457a0d (FindGTest: Add target for gmock library, 2021-10-17, v3.23.0-rc1~321^2) we failed to handle the case where GTest isn't found. Don't construct gmock targets that depend on non-existent gtest targets when gtest failed to be found.
| * Merge branch 'FindLAPACK-nvhpc' into release-3.23Brad King2022-07-071-2/+7
| |\ | | | | | | | | | Merge-request: !7452
* | | FetchContent: Restore support for multiple URL valuesCraig Scott2022-07-291-29/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | In c2044fdf3f (FetchContent: Respect the CMP0135 policy setting, 2022-06-02), the URL keyword was wrongly assumed to only have a single value. Multiple URL values are allowed if they are all non-local. Rework the logic to remove that incorrect assumption and handle both single and multi-value URL combinations. Fixes: #23792
* | | FindVulkan: Add missing 3.24 release notesMACHIZAUD Andréa2022-07-251-0/+3
| | |
* | | FindVulkan: Format component documentation as definition listBrad King2022-07-251-4/+20
| | |
* | | Merge topic 'findwxwidgets-mingw-regression' into release-3.24Brad King2022-07-071-20/+13
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7d6e01801d FindwxWidgets: Do not reset wxWidgets_LIB_DIR unnecessarily 6dce42b171 FindwxWidgets: Restore win32 find style on MinGW Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7451
| * | | FindwxWidgets: Do not reset wxWidgets_LIB_DIR unnecessarilyMaarten Bent2022-07-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Only reset it when `WX_ROOT_DIR` had a value. This change allows to set both `wxWidgets_LIB_DIR` and `wxWidgets_ROOT_DIR` at the same time when they where previously `-NOTFOUND`.
| * | | FindwxWidgets: Restore win32 find style on MinGWMaarten Bent2022-07-061-18/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 6fac8af9ca (FindwxWidgets: set wxWidgets_FIND_STYLE to unix on MINGW, 2022-04-11, v3.24.0-rc1~296^2), we only tried unix find style on MinGW. However, only some MinGW builds have the `wx-config` needed for unix find style. Other builds, including those using the official wxWidgets makefiles, do not provide `wx-config` and need to use win32 find style. To accommodate both use cases, first use win32 find style and if it fails, use unix find style.
* | | | Merge topic 'FindLAPACK-nvhpc' into release-3.24Brad King2022-07-071-2/+7
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | 28d52a43fc FindLAPACK: Add '-fortranlibs' flag only with NVHPC/PGI compilers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7452
| * | FindLAPACK: Add '-fortranlibs' flag only with NVHPC/PGI compilersEisuke Kawashima2022-07-061-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 2c9e623e31 (Find{BLAS,LAPACK}: Add support for the NVHPC LAPACK library, 2021-05-05, v3.21.0-rc1~192^2) we try the `-fortranlibs` option as a dependency of the NVHPC LAPACK. That flag is specific to the NVHPC/PGI compilers, so use it conditionally with them. Without this modification, CMake fails to find LAPACK if - compiler ID is GNU - `BLA_STATIC` is `ON` - `BLA_VENDOR` is not defined or set to `All` Fixes: #23705, #22878
* | | FindwxWidgets: Support more wxWidgets versions, including 3.2Maarten Bent2022-07-051-40/+18
| | | | | | | | | | | | | | | | | | Update the example to use a more recent wxWidgets version. Use a list with known version numbers when searching for installation directories and wx-config names.
* | | FindwxWidgets: Use version number from header for library namesMaarten Bent2022-07-051-35/+12
| | |
* | | FindwxWidgets: Move extracting version number to a macroMaarten Bent2022-07-051-20/+24
| | |
* | | Merge topic 'nvhpc-Werror' into release-3.24Brad King2022-07-051-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 35ec676ace NVHPC: warnings as error flag is "-Werror" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7415
| * | | NVHPC: warnings as error flag is "-Werror"Robert Maynard2022-07-011-1/+1
| | | |
* | | | Merge topic 'add_nvcc_compile_warning_support' into release-3.24Brad King2022-07-051-0/+5
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | cd324110d2 CUDA: NVCC support for COMPILE_WARNING_AS_ERROR target property 2e9ac1d272 Tests: Refactor warn on error tests to support multiple languages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7417