summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | ExternalProject: Switch download, update and patch to use _EP_ varsCraig Scott2024-05-131-186/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This refactoring prepares for the download, update, and patch steps being called directly from FetchContent instead of always being in a sub-build. When there is no sub-build, there will be no targets to read properties from. This commit moves the information to _EP_... variables, which will always be readable. Issue: #21703
| * | | | | | ExternalProject: Provide ExternalProject_Add keywords through a macroCraig Scott2024-05-121-49/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows things outside of ExternalProject to have access to the list of supported keywords. This will be used by FetchContent in an upcoming change. Issue: #21703
| * | | | | | ExternalProject: Don't treat YES as a keywordCraig Scott2024-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ultimately won't change behavior, since YES should never be listed in the "keywords" argument. The original code looks like a bug though, since YES satisfies the criteria for being interpreted as a keyword, and there is logic to short-circuit on TRUE and FALSE. Add YES to that condition to avoid any potential confusion.
| * | | | | | ExternalProject: Fix minor formatting errorCraig Scott2024-05-121-1/+2
| | | | | | |
* | | | | | | Merge topic 'lang-platform-flags'Brad King2024-05-178-475/+116
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0b24c94676 Modules: Fix per-language fallback to platform-specific shared module C flags ae1d5ef47f Modules: Initialize per-language platform-specific flag variables consistently Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9526
| * | | | | | | Modules: Fix per-language fallback to platform-specific shared module C flagsBrad King2024-05-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On platforms that semantically distinguish loadable modules (plugins) from shared libraries, such as macOS and CYGWIN, fix the per-language fall back to create them the same way as with the C toolchain even when the C language has not been enabled.
| * | | | | | | Modules: Initialize per-language platform-specific flag variables consistentlyBrad King2024-05-168-475/+116
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `Platform/<OS>.cmake` modules record platform-specific flag variables for the C toolchain. The `CMake<LANG>Information` modules initialize the per-language platform-specific flag variables to defaults copied from C. However, they have diverged over time, and not all platform-specific flag variables are initialized correctly for all languages. Factor out the CXX language's instance of this logic into a helper macro, and reuse it for all languages for which we previously had the platform-specific flag variables at least partially filled out. Previously the Fortran language's copy of this logic used `if(NOT DEFINED <var>)` instead of just `if(NOT <var>)` to allow `Platform/<OS>-<COMPILER_ID>-<LANG>` modules to specify empty values for some platform-specific flag variables without being overridden. Use this approach in the helper macro so it applies to all languages. Fixes: #25990
* | | | | | | Merge topic 'ewilde/swift-static-try-compile'Brad King2024-05-171-1/+4
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c6e52ef7f2 Swift: Support static-library try-compile type Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9520
| * | | | | | Swift: Support static-library try-compile typeEvan Wilde2024-05-151-1/+4
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Top-level code only works as part of executables, which breaks when `CMAKE_TRY_COMPILE_TARGET_TYPE` is set to `STATIC_LIBRARY`. This patch fixes the test to something agnostic between executables and libraries while still verifying that we can import types from the standard library. Fixes: #25984
* | | | | | Merge topic 'LINK_LIBRARY-Feature-properties'Brad King2024-05-1612-0/+19
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6e5e7968c3 GenEx $<LINK_LIBRARY>: Add the support of properties attached to features Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9510
| * | | | | | GenEx $<LINK_LIBRARY>: Add the support of properties attached to featuresMarc Chevrier2024-05-1512-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #24504, #25954
* | | | | | | importstd: clarify when the experimental UUID must be availableBen Boeckel2024-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #25980
* | | | | | | Merge topic 'FindPython-WIN32-DEBUG'Brad King2024-05-144-20/+211
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c164404b2e FindPython: On Windows, Enhance python debug version support Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Osyotr <zhenchik35026@gmail.com> Merge-request: !9482
| * | | | | | | FindPython: On Windows, Enhance python debug version supportMarc Chevrier2024-05-094-20/+211
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the following variables: * Python_EXECUTABLE_DEBUG * Python_INTERPRETER * Python_DEBUG_POSTFIX and target Python::InterpreterDebug. python_add_library() command Manage DEBUG_POSTFIX target property based on the value of Python_DEBUG_POSTFIX variable. Fixes: #25874
* | | | | | | Merge topic 'ExternalProject-xcode-effective-platform'Brad King2024-05-141-1/+10
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0a3caf0878 ExternalProject: Restore support for Xcode with an effective platform Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9517
| * | | | | | ExternalProject: Restore support for Xcode with an effective platformBrad King2024-05-131-1/+10
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit cabad8a37f (ExternalProject: Always use $<CONFIG> for source files, 2023-02-02, v3.27.0-rc1~550^2~3) and restore Xcode-specific behavior intentionally preserved by commit c111d440ce (ExternalProject: Express per-config step stamp file paths using CONFIG genex, 2022-06-08, v3.24.0-rc1~15^2). Unfortunately we still do not have a test case, so leave a comment to avoid reverting this. Issue: #23645 Issue: #23652
* | | | | | Merge topic 'intel-std'Brad King2024-05-141-2/+23
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 80d4bd5370 IntelLLVM: Record C++26 support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9511
| * | | | | IntelLLVM: Record C++26 supportscivision2024-05-131-2/+23
| | |_|/ / | |/| | |
* | | | | Merge topic 'cxxmodules-nolibcxx-import-std-reason'Brad King2024-05-131-0/+3
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | c0385a6b9c Modules/Compiler/Clang: add a reason for non-`libc++` compilations Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9504
| * | | | Modules/Compiler/Clang: add a reason for non-`libc++` compilationsBen Boeckel2024-05-091-0/+3
| | | | | | | | | | | | | | | | | | | | See: #25965
* | | | | Merge topic 'CheckIPOSupported-C-prototypes'Brad King2024-05-102-2/+2
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | d5075fd10f CheckIPOSupported: Fix -Wstrict-prototypes warnings in check for C Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9502
| * | | | CheckIPOSupported: Fix -Wstrict-prototypes warnings in check for CBrad King2024-05-092-2/+2
| | |/ / | |/| | | | | | | | | | Fixes: #25967
* | | | Drop Visual Studio 9 2008 generatorBrad King2024-05-081-5/+0
|/ / / | | | | | | | | | This generator has been deprecated since CMake 3.27. Remove it.
* | | Merge topic 'cxx-inspect-without-scanning'Brad King2024-05-072-0/+16
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | 6df925b595 cxxmodules: Do not scan sources while testing the compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !9494
| * | cxxmodules: Do not scan sources while testing the compilerBrad King2024-05-062-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | The C++ sources we use to test the compiler do not use modules. Avoid requiring a compiler that can scan just to enable the language, even when CMP0155 is NEW. The project may explicitly turn off `CMAKE_CXX_SCAN_FOR_MODULES` before adding any targets. Fixes: #25956
* | | Merge topic 'FindBoost-remove'Brad King2024-05-061-0/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e0355c4ea9 FindBoost: Add policy to remove this module Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Christoph Grüninger <foss@grueninger.de> Merge-request: !9488
| * | | FindBoost: Add policy to remove this moduleBrad King2024-05-031-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream Boost 1.70 and above provide a proper `BoostConfig.cmake` package configuration file. Packages for all major distros now provide it in at least one LTS release. Add a policy to pretend that the `FindBoost` module does not exist so that projects calling `find_package(Boost)` use the upstream package directly. Closes: #19402
* | | | Merge topic 'cpack-support-all-component-names'Brad King2024-05-061-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d7e2fede03 CPack: Add tests for component containing problematic characters a1af593291 CPack: Support arbitrary component name when packaging 9e67ad47a9 cmLocalGenerator: Support arbitrary component name when installing Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9436
| * | | CPack: Support arbitrary component name when packagingDeniz Bahadir2024-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPack no longer blindly tries to create temporary packaging (sub)directories that contain the verbatim name of a component, which might contain characters that are not supported on the platform / filesystem. Instead, if the component's name contains a (possibly) problematic character its MD5 hash will be used for that temporary packaging (sub)directory. Likewise, if the component's name resembles a reserved device name (e.g. "COM1" on Windows) then the temporary packaging (sub)directory will get this name prefixed with an underscore. Similar, if it ends in a dot (on Windows) then the temporary packaging (sub)directory will get this name suffixed with an underscore. Fixes: #23612
* | | | Merge topic 'cxxmodules-no-import-std-reason'Brad King2024-05-033-0/+42
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | e89e819398 Tests/CXXModules: add tests for C++26 `import std` support 6dad18f060 cxxmodules: give a reason for unavailability of `import std` Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9486
| * | | cxxmodules: give a reason for unavailability of `import std`Ben Boeckel2024-05-023-0/+42
| | | | | | | | | | | | | | | | | | | | If the `CMAKE_CXX<STANDARD>_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE` variable is set, include its value in the error message.
* | | | Merge topic 'FindICU-cleanup'Brad King2024-05-021-96/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9221448327 FindICU: remove noise, cleanup components handling Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9481
| * | | | FindICU: remove noise, cleanup components handlingOsyotr2024-05-011-96/+17
| | | | | | | | | | | | | | | | | | | | Fixes: #25892
* | | | | Merge topic 'fphsa-before-project'Brad King2024-05-021-0/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 68a8c89430 FPHSA: Add hint for failure when called before project() Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9480
| * | | | | FPHSA: Add hint for failure when called before project()Brad King2024-05-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Help project authors recognize an ordering mistake. Inspired-by: Jeremy Rifkin @jeremy-rifkin Closes: #25941
* | | | | | Merge topic 'FindOpenMP-runtime-msvc'Brad King2024-05-021-3/+21
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | b07c637e42 FindOpenMP: Add option to control OpenMP runtime with MSVC Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9475
| * | | | | FindOpenMP: Add option to control OpenMP runtime with MSVCAxel Huebl2024-05-011-3/+21
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MSVC compiler's `-openmp` flag accepts `:{experimental,llvm}` values. Add an option to specify one. Closes: #25570
* | | | | Merge topic 'simplify-and-clean-up-some-cpack-functions'Brad King2024-05-011-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 208b3f63ac CPackDeb.cmake: Fix debug message 48fc711064 cmLocalGenerator: Fix comments in generated cmake_install.cmake file af1d166387 cmCPackGenerator: Fix debug message in function `PrepareGroupingKind` a522abe5c0 cmCPackGenerator: Fix comment in function `InstallCMakeProject` 87cfe9dd91 cmCPackGenerator: Slightly simplify function `InstallProject` 1350ed96ff cmCPackGenerator: Clean up and simplify function `DoPackage` d26eed4c75 cmCPackGenerator: Clean up and simplify function `PrepareNames` 12123b5b6b cmCPackGenerator: Refactor copying of package files into own function ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9457
| * | | | | CPackDeb.cmake: Fix debug messageDeniz Bahadir2024-04-301-1/+1
| |/ / / /
* | | | | Merge topic 'lang-standard-latest'Brad King2024-05-0154-51/+308
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7c38e6bb52 Add CMAKE_<LANG>_STANDARD_LATEST variables fddb165c6c AppleClang: Fix Objective C 23 support detection 1dff17108d Modules: Fix ARMClang and TIClang language standard compile options Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9314
| * | | | | Add CMAKE_<LANG>_STANDARD_LATEST variablesTyler2024-04-3054-50/+280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a variable to indicate the latest standard known to be supported for each language: * `CMAKE_C_STANDARD_LATEST` * `CMAKE_CXX_STANDARD_LATEST` * `CMAKE_CUDA_STANDARD_LATEST` * `CMAKE_HIP_STANDARD_LATEST` * `CMAKE_OBJC_STANDARD_LATEST` * `CMAKE_OBJCXX_STANDARD_LATEST` These variables, more generally referred to as `CMAKE_<LANG>_STANDARD_LATEST`, are assigned an integer value which represents the minimum between the latest version of the associated language standard supported by the current compiler and the latest version supported by CMake. Add documentation for these variables in a new page called `CMAKE_<LANG>_STANDARD_LATEST` was added under the "Variables for Languages" section of the `cmake-variables(7)` page. Update each compiler-specific CMake script under `${CMAKE_ROOT}\Modules\Compiler` to manually define the relevant `CMAKE_<LANG>_STANDARD_LATEST` variable as necessary. This will require updating and maintaining as newer compiler versions become recognized by CMake. Closes: #25717
| * | | | | AppleClang: Fix Objective C 23 support detectionTyler Nichols2024-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the requirement for Objective C 23 support for AppleClang to `11.0.3` in `${CMAKE_ROOT}\Modules\Compiler\AppleClang-OBJC.cmake`. This is consistent with the requirement for C 23 support as indicated in `${CMAKE_ROOT}\Modules\Compiler\AppleClang-C.cmake`.
| * | | | | Modules: Fix ARMClang and TIClang language standard compile optionsTyler Nichols2024-04-303-0/+27
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unset irrelevant compile option variables in the following scripts: * `${CMAKE_ROOT}\Modules\Compiler\ARMClang-C.cmake` * `${CMAKE_ROOT}\Modules\Compiler\TIClang-C.cmake` * `${CMAKE_ROOT}\Modules\Compiler\TIClang-CXX.cmake` These scripts all include either `${CMAKE_ROOT}\Modules\Compiler\Clang-C.cmake` or `${CMAKE_ROOT}\Modules\Compiler\Clang-CXX.cmake`, and those scripts will set various compile option variables based on what the standard version of Clang supports. However, these do not necessarily apply to ARMClang and TIClang. This commit thus explicitly unsets all of the compile option variables which are not manually defined for these compilers.
* | | | | Merge topic 'FindHDF5-version-4-components'Brad King2024-05-011-1/+1
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | | | | | | | | | 928943f91b FindHDF5: Fix detection of versions with more than three components Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9476
| * | | FindHDF5: Fix detection of versions with more than three componentsمهدي شينون (Mehdi Chinoune)2024-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fix detecting the version of HDF5 1.14.4.2. Fixes: #25945
| * | | Merge topic 'save-restore-PACKAGE_PREFIX_DIR' into release-3.29Brad King2024-04-223-72/+128
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8ac7958e3a generate_apple_*_selection_file: Save/restore PACKAGE_PREFIX_DIR bf88879f1f generate_apple_architecture_selection_file: Avoid early returns a4ac2c92f4 Help: Add missing section heading for apple architecture selection b7fcc44be9 Help: Fix CMakePackageConfigHelpers typos, grammar and formatting f1cacaa830 Tests/RunCMake/CMakePackage: Define variable closer to where it is used Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9430
* | | | | ExternalProject: Retry download for error code 35xavisolesoft2024-04-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This error code indicates a TLS handshake failure, which we've observed intermittently when downloading artifacts from GitHub.
* | | | | GNU: Do not use "fat-lto-objects" flags for IPO on Apple platformsRené Bertin2024-04-242-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fat LTO objects contain both traditional object code and the LTO bitcode IR, but the GNU compiler does not support them on Apple platforms. A compile error is raised when `-f[no-]fat-lto-objects` flags are used, so avoid them. This also implies that static Fortran libraries cannot be built with IPO. Fixes: #25931
* | | | | FindCUDAToolkit: Replace a documentation link with its permanent redirectBrad King2024-04-231-1/+1
| | | | |
* | | | | Merge topic 'msvc-wine-import-std'Brad King2024-04-231-0/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | abb33568e6 cxxmodules: Support `import std` for msvc-wine Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !9450