summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* UsePkgConfig: Restore removal of trailing whitespace from pkg-config outputJason E. Hale2023-12-191-5/+4
| | | | | | Since commit f73a5bfaa9 (UsePkgConfig: Replace exec_program() with execute_process(), 2023-07-24, v3.28.0-rc1~321^2~6), trailing whitespace was introduced into libraries linked, which violates CMP0004.
* Merge topic 'FindCUDAToolkit-cupti' into release-3.28Brad King2023-12-151-3/+3
|\ | | | | | | | | | | | | | | 04959e0285 Tests: Verify CUDA::cupti existence on a subset of machines 09a3c8b46b CUDAToolkit: Correctly search all include paths from compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9072
| * CUDAToolkit: Correctly search all include paths from compilerRobert Maynard2023-12-141-3/+3
| | | | | | | | | | The CUDAToolkit usage of `find_path( PATHS )` was incorrectly quoting a list of paths causing none of them to be used.
* | FindBoost: Add support for Boost 1.84Brad King2023-12-141-1/+2
|/ | | | | | | | | | | | | | | Update the list of known versions. Run the command cmake -DBOOST_DIR=/path/to/boost_1_84_0 \ -P Utilities/Scripts/BoostScanDeps.cmake to extract dependencies from the 1.84.0 source tree. They are the same as 1.83's dependencies, so just update the version check for warning about newer versions. Fixes: #25499
* Merge topic 'FindMatlab-version' into release-3.28Brad King2023-12-141-2/+2
|\ | | | | | | | | | | | | 0f6e9d0658 FindMatlab: Fix processing of multiple versions from Windows Registry Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9074
| * FindMatlab: Fix processing of multiple versions from Windows RegistryBrad King2023-12-141-2/+2
| | | | | | | | | | | | | | | | Fix logic from commit fff5c1507e (FindMatlab: refactor: use registry query instead of execute_process, 2023-09-14, v3.28.0-rc1~82^2~7) to work when multiple versions are found in the registry. Issue: #25497
* | FindTIFF: Restore support for projects that do not enable CMP0057Brad King2023-12-141-3/+4
| | | | | | | | | | | | | | | | | | Since commit 6a3059e66f (FindTIFF: bridge `tiff-config` into FindTIFF-compatible interface, 2023-09-14, v3.28.0-rc1~87^2) we use the `if(IN_LIST)` test that required CMP0057. Expand the scope over which we enable that policy explicitly. Issue: #25485
* | FindFreetype: Fix success message when config module is foundBrad King2023-12-141-4/+3
| | | | | | | | | | | | | | Follow up commit d892dedf22 (FindFreetype: always find the config module quietly, 2023-12-13) with a fix to the FPHSA call that reports success. Fixes: #25485
* | Merge topic 'FindMatlab-version' into release-3.28Brad King2023-12-141-4/+4
|\ \ | |/ | | | | | | | | | | ef64c118de FindMatlab: Fix regression on Windows Registry lookup failure Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9070
| * FindMatlab: Fix regression on Windows Registry lookup failureBrad King2023-12-141-4/+4
| | | | | | | | | | | | | | | | Fix logic from commit dc9d9589e4 (FindMatlab:WIN32: return full Matlab version when found via registry, 2023-09-14, v3.28.0-rc1~82^2~2) to avoid assuming that a registry entry always exists and is non-empty. Fixes: #25497
* | FindTIFF: consider `IMPLIB`-using platformsBen Boeckel2023-12-131-4/+75
| | | | | | | | | | | | | | | | | | Support multi-config-providing and `IMPLIB`-using deployments with the `tiff-config` trampoline code. Follow the pattern used in `FindFreetype` by commit ae9890cd36 (FindFreeType: consider `IMPLIB`-using platforms, 2023-10-26, v3.28.0-rc4~10^2~3). See: #25485
* | FindTIFF: always find the config module quietlyBen Boeckel2023-12-131-5/+8
| | | | | | | | | | | | | | | | When the config module is not present, a spurious "tiff not found" is output before the pre-existing logic is used. Instead, silence the module and use FPHSA to report as-if `TIFF` did the search. Fixes: #25485
* | FindFreetype: also consider RelWithDebInfo-built librariesBen Boeckel2023-12-131-0/+6
| |
* | FindFreetype: always find the config module quietlyBen Boeckel2023-12-131-5/+10
|/ | | | | | | | When the config module is not present, a spurious "freetype not found" is output before the pre-existing logic is used. Instead, silence the module and use FPHSA to report as-if `Freetype` did the search. See: #25485
* Merge topic 'bug/fix_cupti_regression' into release-3.28Brad King2023-12-121-2/+3
|\ | | | | | | | | | | | | | | f69b9b7305 CUDAToolkit: Restore ability to find cupti headers Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Misha Chornyi <mchornyi@nvidia.com> Merge-request: !9054
| * CUDAToolkit: Restore ability to find cupti headersRobert Maynard2023-12-081-2/+3
| | | | | | | | | | | | | | | | Fixes #25484 PR !8835 failed to update the CUPTI header searches to use the new internal FindCUDAToolkit search variables. This caused the CUDA::cupti target to always not exist.
* | Merge topic 'FindCUDAToolkit-fix-stubs' into release-3.28Brad King2023-12-071-5/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | d85bf99bcb FindCUDAToolkit: Fix stub library representation on reconfigure Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !9045
| * | FindCUDAToolkit: Fix stub library representation on reconfigureBrad King2023-12-061-5/+7
| |/ | | | | | | | | | | | | | | | | | | | | Since commit 0744c02e24 (FindCUDAToolkit: targets pointing to stubs now use IMPORTED_IMPLIB, 2023-07-24, v3.28.0-rc1~309^2) we recognize CUDA stub libraries and represent them in a special way. However, the logic only works on the first configuration of a build tree when the libraries are first found. Once the results are cached, we incorrectly revert to the non-stub representation. Fix this by recognizing stub libraries based on their path instead.
* | Help: Fix malformed cross-reference in FetchContent docsCraig Scott2023-12-071-1/+1
|/
* LLVMFlang: Fix MSVC ABI debug information format optionsBrad King2023-12-051-5/+7
| | | | | | | | | | | | | In commit 26bf32cdc6 (LLVMFlang: Add support for targeting MSVC ABI on Windows, 2023-09-28, v3.28.0-rc1~10^2) we incorrectly recorded `-g` as supporting the `ProgramDatabase` format, but it is actually `Embedded`, matching Clang. In order to support easy integration with C and C++ projects that use the `.pdb` debug formats, pretend LLVMFlang supports them and just don't actually emit any debug information. Issue: #24840
* CPack/RPM: Quote paths in rpm spec only if they have whitespaceBrad King2023-11-291-1/+6
| | | | | | | | | | | RPM supports either whitespace with quoting or globbing without quoting. Prior to RPM 4.19 it accepted globbing in quotes, but it only globbed correctly without whitespace, where quoting was not necessary anyway. Starting in RPM 4.19, glob characters in quotes are considered literal. Fixes: #25421 Inspired-by: Ben Boeckel <ben.boeckel@kitware.com> See: https://github.com/rpm-software-management/rpm/commit/d44114f007f54f205ffa13d22724199fe50a137a
* CPack/RPM: Factor out helper to quote paths in generated rpm specBrad King2023-11-291-5/+14
|
* Clang-CXX: copy into the dyndep output on successBen Boeckel2023-11-211-1/+16
| | | | | | | | | | | | | | | | | | | | | | | When `clang-scan-deps` fails to scan (e.g., bad source syntax, junk flags, etc.), the redirection unconditionally updates the file. If this fails, the `.ddi` file timestamp is updated. If the state is then reverted (e.g., the command line returns to the state of the last successful build), the updated file is not useful, but `ninja` does not rerun because: - the command hash matches the last successful run - the output file is newer than its inputs However, since the `.ddi` file has been updated with bogus contents from a failed scan, collation fails as the `rules` array is empty (or incomplete from a batch scan). If `clang-scan-deps` were properly aware of its output file, it could use this to not write the file if any inner scan fails. Requested in https://github.com/llvm/llvm-project/issues/72875. See: https://github.com/llvm/llvm-project/issues/72875 Fixes: #25429
* codespell: Fix typosBrad King2023-11-1728-29/+29
|
* Merge topic 'FindOpenMP-5.1-and-5.2' into release-3.28Brad King2023-11-141-0/+2
|\ | | | | | | | | | | | | | | | | 2859be7575 FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Markus Mützel <markus.muetzel@gmx.de> Merge-request: !8965
| * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2Christoph Reiter2023-11-131-0/+2
| | | | | | | | | | | | | | | | llvm 17 now defaults to openmp 5.1; see LLVM commit `0c6f2f629cc0`. It makes FindOpenMP set OPENMP_FOUND and OpenMP_C_SPEC_DATE, but not OpenMP_C_VERSION, because it doesn't know the version mapping. Add the spec date to the version mapping for 5.1 and 5.2 to make things work again.
* | FindCUDAToolkit: Search for cufile library name being lowercaseRobert Maynard2023-11-081-4/+4
| | | | | | | | Fixes #25398
* | CUDA: Parse NVCC implicit compile/link information in Visual Studio generatorsBrad King2023-11-011-20/+1
| | | | | | | | | | | | | | | | | | | | | | Refactoring in commit deff0e638d (CUDA: Factor out helper to parse NVCC implicit compiler and linker flags, 2023-09-15, v3.28.0-rc1~63^2~6) incorrectly dropped detection of the default CUDA architecture and the CUDA toolkit include directories from the code path used for Visual Studio generators. However, CMakeNVCCParseImplicitInfo is now general enough that we no longer need a VS-specific code path. Fixes: #25378
* | CMakeNVCCParseImplicitInfo: Recognize link.exe line in CUDA VS integrationBrad King2023-11-011-0/+3
| |
* | CMakeParseImplicitLinkInfo: Ignore MSVC link /implib: flagBrad King2023-11-011-0/+2
| | | | | | | | | | The flag specifies the import library for the linked binary. It is not a linked library.
* | Merge topic 'revert-GetPrerequisites-linux-x86' into release-3.28Brad King2023-11-011-1/+1
|\ \ | |/ | | | | | | | | | | | | 139df0bc2f GetPrerequisites: Revert "Ignore relative paths printed by ldd" Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8933
| * GetPrerequisites: Revert "Ignore relative paths printed by ldd"Brad King2023-10-311-1/+1
| | | | | | | | | | | | | | | | | | Revert commit cf2ad9995a (GetPrerequisites: Ignore relative paths printed by ldd, 2023-02-20, v3.27.0-rc1~459^2) because it regressed existing use cases. We will need to find another solution to the use case motivating the change. Fixes: #25372
* | Merge topic 'FindFreeType-config-windows' into release-3.28Brad King2023-10-311-2/+32
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 0117446c97 FindFreeType: also set `FREETYPE_FOUND` 2cf2d4f7df FindFreeType: insert Freetype's location to the start 1cfc708eea FindFreeType: handle config-specific `LOCATION` settings as well ae9890cd36 FindFreeType: consider `IMPLIB`-using platforms Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8920
| * | FindFreeType: also set `FREETYPE_FOUND`Ben Boeckel2023-10-301-0/+1
| | | | | | | | | | | | Fixes: #25371
| * | FindFreeType: insert Freetype's location to the startBen Boeckel2023-10-281-1/+1
| | | | | | | | | | | | | | | This should help static builds satisfy dependencies by listing transitive libraries after freetype's.
| * | FindFreeType: handle config-specific `LOCATION` settings as wellBen Boeckel2023-10-281-1/+13
| | | | | | | | | | | | | | | `vcpkg` builds release and debug variants on platforms other than Windows (which uses the `IMPLIB` properties).
| * | FindFreeType: consider `IMPLIB`-using platformsBen Boeckel2023-10-261-1/+18
| | | | | | | | | | | | See: https://github.com/microsoft/vcpkg/issues/34725
* | | FindProtobuf: Fix protoc include path regressionAndré Apitzsch2023-10-271-4/+2
|/ / | | | | | | | | | | | | | | This was accidentally broken by commit 31adc11030 (FindProtobuf: Add PLUGIN_OPTIONS and PROTOC_OPTIONS to protobuf_generate, 2023-06-29, v3.28.0-rc1~409^2~2). Fixes: #25368
* | Clang: Use -fno-ansi-escape-codes for color diagnostics on WindowsCristian Adam2023-10-231-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | -fno-ansi-escape-codes is used only on Windows by Clang. Without the flag color diagnostics are displayed only if clang.exe is executed directly. Build tools like ninja and mingw32-make will not display colored diagnostics. Using -fno-ansi-escape-codes will make the build tools pass the colored diagnostics to the calling application e.g IDE. Fixes: #24235
* | PGI/NVHPC: Remove -Mipa compiler option for 23.3+مهدي شينون (Mehdi Chinoune)2023-10-131-1/+1
| | | | | | | | | | | | | | | | `-Mipa` was removed since 23.3. The compiler warns about it: nvfortran-Warning-The option -Mipa has been deprecated and is ignored. See: https://docs.nvidia.com/hpc-sdk/archive/23.9/hpc-sdk-release-notes/index.html#deprecations
* | FindRuby: Add support for 3.2Heiko Becker2023-10-101-6/+6
| |
* | Merge topic 'findcuda_toolkit_restore_lib_search_dir' into release-3.28Brad King2023-10-061-1/+0
|\ \ | | | | | | | | | | | | | | | | | | 0b6ae9c467 FindCUDAToolkit: Restore CUDAToolkit_LIBRARY_SEARCH_DIRS variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8859
| * | FindCUDAToolkit: Restore CUDAToolkit_LIBRARY_SEARCH_DIRS variableRobert Maynard2023-10-041-1/+0
| | | | | | | | | | | | | | | This was accidentally dropped by commit 4316d4dcfd (FindCUDAToolkit: Search all of `nvcc` implicit includes and library dirs, 2023-09-26).
* | | Merge topic 'FindPkgConfig-error' into release-3.28Brad King2023-10-041-3/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 4c96b31e4b FindPkgConfig: Report not-found package names in fatal error message Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8856
| * | | FindPkgConfig: Report not-found package names in fatal error messageAnthony Baker2023-10-031-3/+3
| |/ /
* | | Merge topic 'LLVMFlang-MSVC' into release-3.28Brad King2023-10-048-48/+196
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 26bf32cdc6 LLVMFlang: Add support for targeting MSVC ABI on Windows e9af7b9687 LLVMFlang: Add support for CMAKE_Fortran_COMPILER_TARGET 26fa048ffe Tests: Enable CMP0091/CMP0141 for MSVC settings in FortranOnly test 9d060b8682 Fortran: Save CMAKE_LINKER variable persistently for MSVC ABI 7571e653f4 CMakeDetermineCompilerABI: Add option to skip implicit link info parsing 12733d0d8d CMakeParseImplicitLinkInfo: Detect link lines using link.exe and lld-link Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8852
| * | LLVMFlang: Add support for targeting MSVC ABI on WindowsBrad King2023-10-035-9/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The compiler does not yet support everything needed to integrate well with the MSVC ABI, in particular for runtime library selection and debug format selection. Document them in FIXME comments and leave this support undocumented by CMake for now. Fixes: #24840 Inspired-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
| * | LLVMFlang: Add support for CMAKE_Fortran_COMPILER_TARGETBrad King2023-10-021-0/+2
| | |
| * | Fortran: Save CMAKE_LINKER variable persistently for MSVC ABIBrad King2023-10-021-1/+2
| | | | | | | | | | | | We already do this for other languages including C and CXX.
| * | CMakeDetermineCompilerABI: Add option to skip implicit link info parsingBrad King2023-10-021-32/+40
| | | | | | | | | | | | Provide a way to do the parsing earlier and not overwrite it here.