summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'post-rel-dev'Brad King2024-06-061-1/+1
|\ | | | | | | | | | | | | | | | | | | | | 115425e68c Configure CMake itself with policies through CMake 3.29 ed376e470e export: Increase maximum policy version in exported files to 3.29 4394464501 Add deprecation warnings for policies CMP0129 and below 2eb4382d6b Tests: Modernize RunCMake.CMP0129 test conventions and conditions Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9585
| * export: Increase maximum policy version in exported files to 3.29Brad King2024-06-051-1/+1
| | | | | | | | | | | | The files generated by `install(EXPORT)`, `export()`, and `install_jar_exports()` commands are known to work with policies as of CMake 3.29, so enable them in sufficiently new CMake versions.
* | CPack/WiX: Restore default (missing) InstallScope from 3.28 and lowerBrad King2024-06-051-3/+7
|/ | | | | | | | | | | In commit 60661f6770 (CPack/WiX: Make InstallScope configurable, 2023-11-07, v3.29.0-rc1~413^2) the `CPACK_WIX_INSTALL_SCOPE` default was set to `perMachine`. While installers created with `perMachine` have better behavior on their own than installers created without any `InstallScope`, they do not cleanly convert existing installations on updates. Fixes: #26029
* Merge topic 'FindPython-free-threaded-python'Brad King2024-06-053-97/+166
|\ | | | | | | | | | | | | | | | | 9a0dee7257 FindPython: Add support for free threaded python 4178ab928f FindPython: Fix spelling error Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9578
| * FindPython: Add support for free threaded pythonMarc Chevrier2024-06-043-97/+166
| | | | | | | | Fixes: #26016
* | Merge topic 'macos-check-archs'Brad King2024-06-051-0/+35
|\ \ | | | | | | | | | | | | | | | | | | | | | db409e5e68 APPLE: Check if compilers respect CMAKE_OSX_ARCHITECTURES 598bc70474 file: Add undocumented READ_MACHO subcommand on macOS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9492
| * | APPLE: Check if compilers respect CMAKE_OSX_ARCHITECTURESRené Bertin2024-06-041-0/+35
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all compilers that can be used on APPLE platforms will respect the architecture(s) set in CMAKE_OSX_ARCHITECTURES and some will not raise an error if they are unable to do this. For instance, GCC will accept ignore additional architectures specified after the first -arch XXX (with a non-fatal warning) and will even link the simple test applications used in the ABI determination (and other tests that don't require external libraries) if an architecture is requested for which it doesn't have the required "multilib" set-up. Prevent unexpected build results or build failures that may occur after a lengthy build process: verify that the binary used to obtain the ABI information contains the requested architectures. Fixes: #25952
* | Merge topic 'cpack-nuget-dependency-groups'Brad King2024-06-041-14/+108
|\ \ | |/ |/| | | | | | | | | 0f4d3664a9 CPack/NuGet: Build dependencies in groups Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9544
| * CPack/NuGet: Build dependencies in groupsAlex Opie2024-06-031-14/+108
| | | | | | | | | | | | | | This allows particular frameworks to be targeted by particular dependencies, and for empty dependency groups to satisfy NuGet's framework-matching requirements.
* | Merge topic 'checklanguage-modulepath'Brad King2024-06-031-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 980c1ce3c8 CheckLanguage: Pass along CMAKE_MODULE_PATH Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9565
| * | CheckLanguage: Pass along CMAKE_MODULE_PATHDarryl Pogue2024-05-301-0/+1
| |/ | | | | | | Closes #26020.
* | Merge topic 'ep-disable-source-changes'Brad King2024-06-032-2/+12
|\ \ | | | | | | | | | | | | | | | | | | | | | 0cc1b550dd ExternalProject,FetchContent: Avoid CMAKE_DISABLE_SOURCE_CHANGES error Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9569
| * | ExternalProject,FetchContent: Avoid CMAKE_DISABLE_SOURCE_CHANGES errorCraig Scott2024-05-312-2/+12
| |/ | | | | | | | | | | | | | | | | | | | | | | The file(MAKE_DIRECTORY) implementation checks whether a path is allowed to be written to before it checks if it already exists. For the scenario where a SOURCE_DIR is an existing directory within the main project's source directory, this triggers a fatal error if CMAKE_DISABLE_SOURCE_CHANGES is set to true for ExternalProject, and some FetchContent scenarios. Therefore, add an explicit check for existence first to avoid making such error-triggering calls. Fixes: #21872
* | Merge topic 'doc-cpack-reuse-CMakeFindBinUtils'Craig Scott2024-06-011-9/+12
|\ \ | | | | | | | | | | | | | | | | | | dca468e1de Help: Improve and clarify wording for CPACK_<TOOL>_EXECUTABLE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9566
| * | Help: Improve and clarify wording for CPACK_<TOOL>_EXECUTABLECraig Scott2024-05-311-9/+12
| |/ | | | | | | Fixes: #24253
* | Merge topic 'cpack-deb-shlibdeps'Brad King2024-05-311-7/+94
|\ \ | | | | | | | | | | | | | | | | | | | | | 27d161eac3 CPackDeb: dpkg-shlibdeps shall consider dependency components, too Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9531
| * | CPackDeb: dpkg-shlibdeps shall consider dependency components, tooDeniz Bahadir2024-05-301-7/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using `dpkg-shlibdeps` to automatically determine package dependencies it considers the RUNPATH/RPATH of executables in order to find all required shared libraries of such executables. If the RUNPATH/RPATH contains a verbatim `$ORIGIN` (respective `${ORIGIN}`), it will now be substituted by the packaging-paths of other components that are marked as dependency and those paths will then be used as additional search directories for `dpkg-shlibdeps`. Associated tests were added as well. Fixes: #21838
* | | Merge topic 'FindMPI-FujitsuClang'Brad King2024-05-311-0/+3
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | 7332f28f68 FindMPI: Add support for FujitsuClang wrappers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9561
| * | FindMPI: Add support for FujitsuClang wrappersdomke2024-05-301-0/+3
| | | | | | | | | | | | Prefer these when the project is built with FujitsuClang.
* | | Merge topic 'enforce-fc-fully-disconnected-requirements'Brad King2024-05-301-5/+51
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | f588421b58 FetchContent: Enforce FETCHCONTENT_FULLY_DISCONNECTED requirements Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9556
| * | FetchContent: Enforce FETCHCONTENT_FULLY_DISCONNECTED requirementsCraig Scott2024-05-291-5/+51
| | | | | | | | | | | | | | | | | | | | | FETCHCONTENT_FULLY_DISCONNECTED should only be set to true if each dependency's source directory has already been populated. Previously, this wasn't being checked, but now it is (subject to a new policy).
* | | Merge topic 'CUDAToolkit_search_non_activated_compiler_paths'Brad King2024-05-301-6/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | eed16fbc00 FindCUDAToolkit: Use CUDA compiler path even when CUDA lang not enabled Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9558
| * | | FindCUDAToolkit: Use CUDA compiler path even when CUDA lang not enabledRobert Maynard2024-05-291-6/+29
| | | | | | | | | | | | | | | | Fixes: #25567
* | | | Merge topic 'FindBLAS-LAPACK-libblastrampoline'Brad King2024-05-302-0/+38
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 847a25c823 FindBLAS/LAPACK: Add libblastrampoline support Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Mosè Giordano <mose@gnu.org> Merge-request: !9557
| * | | FindBLAS/LAPACK: Add libblastrampoline supportIan McInerney2024-05-292-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | libblastrampoline is a BLAS/LAPACK demuxing layer to allow selecting a BLAS/LAPACK library at runtime. Fixes: #25913
* | | | Merge topic 'deprecate-fetchcontent_populate'Brad King2024-05-291-175/+182
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | | | | 4370fcf750 FetchContent: Deprecate FetchContent_Populate(depName) bc70b458ad Help: Minor grammar improvements for FetchContent Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9552
| * | FetchContent: Deprecate FetchContent_Populate(depName)Craig Scott2024-05-291-137/+141
| | | | | | | | | | | | | | | Projects should use FetchContent_MakeAvailable(depName) instead. Policy CMP0169 provides backward compatibility.
| * | Help: Minor grammar improvements for FetchContentCraig Scott2024-05-261-38/+41
| | |
* | | Merge topic 'fetchcontent_policies_block'Craig Scott2024-05-281-3/+41
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | a837f15ebf FetchContent: Set policies for most commands Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9551
| * | FetchContent: Set policies for most commandsCraig Scott2024-05-271-3/+41
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, FetchContent was relying on the policies of the includer being compatible with the module. That made the module vulnerable to subtle problems where policy settings might lead to unexpected behavior. With this change, we now specify the policies for as much of the module as we can without breaking backward compatibility. Only a few specific implementation details of the FetchContent_MakeAvailable() macro have to remain uncontrolled due to the way those parts can invoke user or project code which may be relying on the includer's policy settings (intentionally or not).
* | FetchContent: Make FetchContent_Populate() honor CMP0168Craig Scott2024-05-251-3/+27
|/
* Merge topic 'cuda-vs-17.10'Brad King2024-05-241-1/+1
|\ | | | | | | | | | | | | 69f26d8156 VS: Fix compiler identification of nvcc with unsupported host compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9546
| * VS: Fix compiler identification of nvcc with unsupported host compilerBrad King2024-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | `nvcc` from CUDA < 12.4 does support the MSVC 14.40.17.10 toolset. Users may specify `CUDAFLAGS=-allow-unsupported-compiler` to bypass the check. However, we do not use arbitrary user-specified flags during compiler identification in the VS generator because escaping them for the `AdditionalOptions` of the `.vcxproj` file requires non-trivial logic that we currently only implement in the C++ generator code. Instead, just always pass `-allow-unsupported-compiler` during CUDA compiler identification in the VS generator. Fixes: #26003
| * Merge topic 'ExternalProject-xcode-effective-platform' into release-3.29Brad 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
| * \ Merge topic 'cxx-inspect-without-scanning' into release-3.29Brad 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
* | \ \ Merge topic 'qcc-ipo'Brad King2024-05-241-8/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 95cac24867 QCC: Enable IPO support, inheriting from GNU Compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9545
| * | | | QCC: Enable IPO support, inheriting from GNU CompilerPablo Romero2024-05-231-8/+0
| | | | | | | | | | | | | | | | | | | | Fixes: #26007
* | | | | Merge topic 'adsp-asm-support'Brad King2024-05-231-3/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 23c91b55d6 ADSP: Treat .s files as asm sources 43b5e88fe6 ADSP: Preserve ASM output ext and flags as we do for C and CXX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9530
| * | | | | ADSP: Treat .s files as asm sourcesRupert Clarke2024-05-211-1/+1
| | | | | |
| * | | | | ADSP: Preserve ASM output ext and flags as we do for C and CXXRupert Clarke2024-05-211-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revise commit 0e828b92f1 (ADSP: Add support for assembler, 2023-10-12, v3.29.0-rc1~568^2).
* | | | | | OHOS: Add support for OpenHarmony OSJonathan Schwender2024-05-221-0/+2
| |/ / / / |/| | | | | | | | | | | | | | Closes #25987
* | | | | Merge topic 'fetchcontent-direct'Craig Scott2024-05-1810-1560/+2124
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7bf15e49a8 ExternalProject: Fix misleading git update output b2496bf14c FetchContent: Populate directly without a sub-build 173daad58d ExternalProject: Move more internal commands out of main file 462e583267 ExternalProject: Switch download, update and patch to use _EP_ vars 0ccc8e340d ExternalProject: Provide ExternalProject_Add keywords through a macro 91e1015722 ExternalProject: Don't treat YES as a keyword a1743ce1ef ExternalProject: Fix minor formatting error Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !9513
| * | | | | ExternalProject: Fix misleading git update outputCraig Scott2024-05-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When re-running the build with the git download method, and where GIT_TAG is set to a tag name that we already have locally from the first run, the second run will skip the update step if it is already at the requested tag. The message in this case was previously printing the commit hash instead of the tag name, which was wrong. This wasn't noticed before because that output wasn't usually shown, but we now do show that message after making message output log levels more consistent between the steps.
| * | | | | FetchContent: Populate directly without a sub-buildCraig Scott2024-05-179-52/+588
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21703
| * | | | | ExternalProject: Move more internal commands out of main fileCraig Scott2024-05-132-1517/+1540
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commands moved to shared_internal_commands.cmake will soon be used directly by FetchContent, which cannot always include the full ExternalProject.cmake file (e.g. it may be used in CMake script mode). Issue: #21703
| * | | | | 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