summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * | | | | cxxmodules: Support `import std` for msvc-winehuangqinjin2024-04-211-0/+1
| | | | | |
* | | | | | Merge topic 'check-pthreads-static'Brad King2024-04-231-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b4f17e5b44 FindThreads: Fix pthreads detection with -Wmissing-prototypes Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9449
| * | | | | | FindThreads: Fix pthreads detection with -Wmissing-prototypesDavid Benjamin2024-04-221-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the project builds with `-Wmissing-prototypes` to catch unnecessarily exported symbols, `CheckForPthreads.c` will fail to build. Fix this by marking `start_routine` as static. Fixes: #25886
* | | | | | Merge topic 'pkg_get_variable-list'Brad King2024-04-231-0/+11
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9ddef32ba0 FindPkgConfig: Fix parsing of quoted lists with pkgconf <1.5.1 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9447
| * | | | | | FindPkgConfig: Fix parsing of quoted lists with pkgconf <1.5.1Kerem Aksu2024-04-201-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unquote pkg-config output if they are printed within quotes. pkgconf <1.5.1 and classic pkg-config <0.29.1 prints quoted variables without unquoting them, this breaks returning variables with multiple values as a list behavior of CMake. Add a new test case for pkg_get_variable with multiple values to test list behavior and backslash escaped spaces within variable values. Fixes: #25904
* | | | | | | Merge topic 'save-restore-PACKAGE_PREFIX_DIR'Brad King2024-04-223-72/+145
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 41f4e1c457 CMakePackageConfigHelpers: Document PACKAGE_PREFIX_DIR for public use c5231ba29e find_package: Save/restore PACKAGE_PREFIX_DIR 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
| * | | | | | | CMakePackageConfigHelpers: Document PACKAGE_PREFIX_DIR for public useCraig Scott2024-04-201-0/+17
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This variable has long been provided by `configure_package_config_file` in the `@PACKAGE_INIT@` part of the package configuration file it generates. Although not publicly documented, projects have come to use it. Now that we preserve the value across nested `find_package` calls, it has a stable meaning. Issue: #25827
| * | | | | | generate_apple_*_selection_file: Save/restore PACKAGE_PREFIX_DIRCraig Scott2024-04-192-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: #25827
| * | | | | | generate_apple_architecture_selection_file: Avoid early returnsCraig Scott2024-04-191-15/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This refactoring makes the generated file follow the same structure as generate_apple_platform_selection_file(). It uses a single if-elseif-else-endif block rather than a sequence of if-endif blocks. This avoids any early return() calls, allowing cleanup code to be added at the end later.
| * | | | | | Help: Add missing section heading for apple architecture selectionCraig Scott2024-04-191-0/+3
| | | | | | |
| * | | | | | Help: Fix CMakePackageConfigHelpers typos, grammar and formattingCraig Scott2024-04-191-57/+56
| | | | | | |
* | | | | | | Merge topic 'cuda-std'Brad King2024-04-221-1/+9
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fb0990ef04 Tests/CompileFeatures: Cover cuda_std_## meta-features 011f3d1dd3 Tests/CompileFeatures: Fix c_std_23 case with Clang < 14 1f40604421 Tests/CompileFeatures: Cover CUDA default standard level 138436609f CUDA: Fix detection of default C++ standard level with MSVC host compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9444