summaryrefslogtreecommitdiff
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'find-wxwidgets'Brad King2022-06-171-95/+54
|\ | | | | | | | | | | | | | | | | | | 8c9106538f FindwxWidgets: Support more wxWidgets versions, including 3.2 d8a2edb74e FindwxWidgets: Use version number from header for library names 2f2fe1a2e3 FindwxWidgets: Move extracting version number to a macro Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7374
| * FindwxWidgets: Support more wxWidgets versions, including 3.2Maarten Bent2022-06-151-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-06-151-35/+12
| |
| * FindwxWidgets: Move extracting version number to a macroMaarten Bent2022-06-151-20/+24
| |
* | Merge topic 'SerenityOS-platform'Brad King2022-06-158-0/+48
|\ \ | | | | | | | | | | | | | | | | | | | | | 45ca894164 SerenityOS: Add Platform module Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ali Mohammad Pur <ali.mpfard@gmail.com> Merge-request: !6837
| * | SerenityOS: Add Platform moduleAndrew Kaster2022-06-148-0/+48
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an initial Platform module for SerenityOS [1]. This module is a mix of the platform module currently used to build the Serenity Kernel and Userspace applications and libraries, and the platform module included in the CMake Port [2] which still has some work to do on the system before its other patches could be considered for upstream. As such, the platform module is currently only useful when used with a suitably patched GCC or LLVM cross-compiler toolchain. [1] https://github.com/SerenityOS/serenity [2] https://github.com/SerenityOS/serenity/tree/master/Ports/cmake/patches Issue: #23589
* | Merge topic 'cuda_use_response_files'Brad King2022-06-151-6/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 6377a43814 CUDA: Support response files with nvcc Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7358
| * | CUDA: Support response files with nvccRobert Maynard2022-06-131-6/+10
| |/
* | FindCUDA: Fix varaible reset with CUDA_TOOLKIT_TARGET_DIRJames Bigler2022-06-141-1/+3
|/ | | | | | | | CUDA_TOOLKIT_TARGET_DIR doesn't always exist in the cache or defined by the user previous to using FindCUDA. In this case it will always reset the variables making it impossible to manually change or set them. This can be fixed by checking to see if the variable is defined before checking against the previously used version stored in CUDA_TOOLKIT_TARGET_DIR_INTERNAL.
* Merge topic 'fetchcontent-global-targets'Brad King2022-06-111-2/+24
|\ | | | | | | | | | | | | | | | | f19b48e0b8 FetchContent: Honor CMAKE_FIND_PACKAGE_TARGETS_GLOBAL 1305bade56 Help: Add missing version directive for find_package() GLOBAL keyword Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7347
| * FetchContent: Honor CMAKE_FIND_PACKAGE_TARGETS_GLOBALCraig Scott2022-06-101-2/+24
| | | | | | Fixes: #23606
* | Merge topic 'xcode-14'Brad King2022-06-112-1/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 627c08e28b Tests: Teach RunCMake to ignore Xcode DVTSDK warnings ab40020b17 Xcode: Suppress "Run Script" build phase warning during compiler id 89e1113e0c Xcode: Use ad-hoc signing during compiler id on macOS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7350
| * | Xcode: Suppress "Run Script" build phase warning during compiler idBrad King2022-06-101-0/+1
| | | | | | | | | | | | | | | warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs.
| * | Xcode: Use ad-hoc signing during compiler id on macOSBrad King2022-06-102-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Xcode 14 no longer accepts an empty signing identity for macOS. However, Xcode in general does not accept an ad-hoc signing identity for iOS. Switch based on the target platform. Fixes: #23609
* | | Merge topic 'ExternalProject-stamp-genex'Brad King2022-06-101-15/+22
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | c111d440ce ExternalProject: Express per-config step stamp file paths using CONFIG genex Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7341
| * | | ExternalProject: Express per-config step stamp file paths using CONFIG genexBrad King2022-06-081-15/+22
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ExternalProject module has long used the generator-specific placeholder in the `${CMAKE_CFG_INTDIR}` variable to express per-config stamp file paths in multi-config generators. Now that most generators support generator expressions in custom command outputs, we can use the `$<CONFIG>` genex instead. In particular, this fixes cross-config `BUILD_BYPRODUCTS` with the Ninja Multi-Config generator. Fixes: #23595
* | | CheckIPOSupported: Compile check using flags of calling projectBrad King2022-06-101-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Forward `CMAKE_<LANG>_FLAGS` and `CMAKE_<LANG>_FLAGS_DEBUG` from the calling project into the test project. The set of flags may affect the availability of IPO support. Since this may change the result of the check for existing projects, add a policy for compatibility. This was discovered after commit 5fcadc481e (MSVC: Default to -ZI instead of /Zi for x86 and x64, 2022-05-24) introduced policy CMP0138 to switch our default for MSVC's debug info flag. The `-ZI` flag is incompatible with the `-GL` flag used for IPO, so CMP0138 was reverted pending future work on an alternative solution. Re-use the CMP0138 policy number for this change to CheckIPOSupported instead. Fixes: #23607
* | | MSVC: Revert "Default to -ZI instead of /Zi for x86 and x64"Brad King2022-06-093-25/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 5fcadc481e (MSVC: Default to -ZI instead of /Zi for x86 and x64, 2022-05-24). The `-ZI` flag is incompatible with the `-GL` flag used for IPO, and so is not an unconditionally better default. Revert the change pending future design of a first-class setting for MSVC debug info format that can be automatically reconciled with IPO settings. That commit introduced policy CMP0138, but we already have later policy numbers used too. Leave placeholder text to avoid policy renumbering. Issue: #23607, #10189
* | | Merge topic 'doc-using-deps-guide' into release-3.24Brad King2022-06-091-1/+7
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 92e93f5c9e Help: Overhaul and expand the Using Dependencies Guide Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !7332
| * | Help: Overhaul and expand the Using Dependencies GuideCraig Scott2022-06-091-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | The guide previously only focused on the find_package() command, with a bias towards libraries. FetchContent was not mentioned at all. Reorganise and update the existing content. Add new sections to cover providing dependencies with FetchContent and dependency providers. Improve discoverability of the guide by mentioning it at the beginning of the find_package(), FetchContent and dependency provider docs.
* | | Merge topic 'print-sources'Brad King2022-06-071-27/+48
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d8dcfa7776 Tests: Add tests for CMakePrintHelpers b7ddfcfe08 cmake_print_properties(): Update grammar docs e52b9e1270 PrintHelpers: Document argument order restriction d87ed4d88f PrintHelpers: Fix indentation 5fa70e1738 PrintHelpers: Rewrite a few more error messages 2579503f45 PrintHelpers: Fix target SOURCES property Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7331
| * | | cmake_print_properties(): Update grammar docsFeRD (Frank Dana)2022-06-061-6/+6
| | | |
| * | | PrintHelpers: Document argument order restrictionFeRD (Frank Dana)2022-06-061-1/+4
| | | |
| * | | PrintHelpers: Fix indentationFeRD (Frank Dana)2022-06-061-2/+2
| | | |
| * | | PrintHelpers: Rewrite a few more error messagesFeRD (Frank Dana)2022-06-061-2/+3
| | | |
| * | | PrintHelpers: Fix target SOURCES propertyFeRD (Frank Dana)2022-06-061-16/+33
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's been a long-standing bug in CMakePrintHelpers that the cmake_print_properties() function cannot print the SOURCES property of a requested TARGET, confusing it with a request to print properties of SOURCES. We work around this by parsing the arguments in two stages, so that a SOURCES that comes after the PROPERTIES keyword is handled differently from a SOURCES that comes before it. This adds the restriction that the "mode" keyword (TARGETS SOURCES DIRECTORIES etc...) and its arguments **must** precede the PROPERTIES keyword and its arguments. In other words: 1. Both of these are now valid and will be interpreted correctly, whereas previously only the first was, and the second caused a FATAL_ERROR: cmake_print_properties(SOURCES foo.c PROPERTIES LANGUAGE) cmake_print_properties(TARGETS foo PROPERTIES SOURCES) 2. This, OTOH, which used to be valid, no longer is, and will trigger a FATAL_ERROR: cmake_print_properties(PROPERTIES LANGUAGE SOURCES foo.c) Fixes: #14883
* | | FindPython*: enhance interpreter lookupMarc Chevrier2022-06-051-2/+11
|/ / | | | | | | Fixes: #23588
* | Merge topic 'FindOpenSSL3_applink'Brad King2022-06-031-0/+8
|\ \ | | | | | | | | | | | | | | | | | | 4a6caef9d5 FindOpenSSL: Set version variables for version >= 3.0.0 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7305
| * | FindOpenSSL: Set version variables for version >= 3.0.0James Calo2022-06-021-0/+8
| | | | | | | | | | | | | | | | | | The variables `OPENSSL_VERSION_MAJOR`, `OPENSSL_VERSION_MINOR` and `OPENSSL_VERSION_FIX` are now set to the correct values when using OpenSSL version >= 3.0.0, which uses a new format.
* | | Merge topic 'envmod'Brad King2022-06-031-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | fcddb1cd5f FindEnvModules: BUGFIX: env_module_swap OUTPUT_VARIBLE Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7315
| * | | FindEnvModules: BUGFIX: env_module_swap OUTPUT_VARIBLEMichael Hirsch2022-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | Since originally added to CMake, env_module_swap(OUTPUT_VARIABLE) did not give output since the incorrect variable name was used.
* | | | Merge topic 'GNUInstallDirs-opt-homebrew'Brad King2022-06-031-1/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8de3983b4c GNUInstallDirs: Do not treat /opt/homebrew as under /opt Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7318
| * | | | GNUInstallDirs: Do not treat /opt/homebrew as under /optBrad King2022-06-021-1/+3
| |/ / / | | | | | | | | | | | | Fixes: #23579
* | | | FetchContent: Respect the CMP0135 policy settingCraig Scott2022-06-021-6/+43
|/ / / | | | | | | Fixes: #23560
* | | Merge topic 'findjava'Marc Chevrier2022-06-012-21/+30
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 3acbe073ba FindJava: improve failure/verbosity when 'java -version' fails Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7299
| * | FindJava: improve failure/verbosity when 'java -version' failsSeth R Johnson2022-05-312-21/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On macOS monterey, `java -version` returns ``` The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. ``` which does not match the existing regex. Instead of hitting a fatal error if required, reset the variable and let FindPackage handle the result. If `QUIET` is requested, don't print anything if the version query fails. Otherwise, print the message. Additionally, clean up temporary variables set by the execute_process commands.
* | | Merge topic 'msvc-compilers-default-to-ZI'Brad King2022-05-273-2/+25
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 5fcadc481e MSVC: Default to -ZI instead of /Zi for x86 and x64 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7295
| * | | MSVC: Default to -ZI instead of /Zi for x86 and x64Glen Chung2022-05-263-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a policy for compatibility. For more information, see [1]. [1] https://docs.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format?view=msvc-170 Fixes: #10189
* | | | MSYS/MinGW Makfiles: Select the compiler occurring first in PATHBrad King2022-05-261-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the change from commit e01990999a (Ninja: On Windows, select the compiler occurring first in PATH, 2020-04-17, v3.18.0-rc1~291^2) to apply to the MSYS/MinGW Makefiles generators too. Drop the implied `gcc` and `g++` default compilers. This allows MinGW/Clang environments to work out of the box. Inspired-by: Mehdi Chinoune <mehdi.chinoune@hotmail.com> Fixes: #23542
* | | | Merge topic 'LLVMFlang-compiler'Brad King2022-05-263-0/+21
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | 85749766df LLVMFlang: Add support for LLVM Flang Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7246
| * | | LLVMFlang: Add support for LLVM FlangTin Huynh2022-05-243-0/+21
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | LLVM Flang (https://github.com/llvm/llvm-project/tree/main/flang) is an LLVM Fortran compiler that shares the same name as Flang (also known as Classic Flang). Classic Flang is in active development and is already identified by CMake as Flang. As such, LLVM Flang will be identified as `LLVMFlang`. Fixes: #22387
* | | Merge topic 'dependency-providers'Brad King2022-05-251-42/+197
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2aa83fa15b Dependency providers: Add find_package and FetchContent support 8a28368feb FetchContent: Don't discard non-empty SOURCE_DIR and BINARY_DIR 8ce9bb8a0c FetchContent: Don't leak internal variables 74a6ddc339 cmFindPackageCommand: Handle Makefile variable definitions more robustly Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Gerhard Olsson <gerhard.nospam@gmail.com> Merge-request: !7276
| * | | Dependency providers: Add find_package and FetchContent supportCraig Scott2022-05-251-36/+177
| | | | | | | | | | | | Fixes: #22619
| * | | FetchContent: Don't discard non-empty SOURCE_DIR and BINARY_DIRCraig Scott2022-05-181-3/+9
| | | |
| * | | FetchContent: Don't leak internal variablesCraig Scott2022-05-181-3/+11
| | | |
* | | | Merge topic 'cpack-component-special-chars'Brad King2022-05-251-8/+10
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 11ac6751a8 CPack: Support component names with special characters, too Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7290
| * | | CPack: Support component names with special characters, tooDeniz Bahadir2022-05-241-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | The macros `cpack_append_variable_set_command` and `cpack_append_string_variable_set_command` became functions, in order to support arguments with special characters (e.g. `:`).
* | | | Merge topic 'findvulkan-moltenvk'Brad King2022-05-241-0/+87
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | d9b4264cb8 FindVulkan: Add component for `MoltenVK` 10a6bb16bb FindVulkan: Mark test target with `cxx_std_11` to avoid AppleClang warnings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7286
| * | | FindVulkan: Add component for `MoltenVK`MACHIZAUD Andréa2022-05-231-0/+87
| | | |
* | | | Merge topic 'externalproject-cleanup'Brad King2022-05-231-344/+793
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3351b7b82c ExternalProject: Reformatting only 691f0c7612 ExternalProject: Minor cleanup to use more convenient commands b4db306aff ExternalProject: Remove unused property docs 5c021c8355 ExternalProject: Replace SEND_ERROR with FATAL_ERROR Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7285