summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'iar-binutils'Brad King2021-07-233-86/+54
|\ | | | | | | | | | | | | 5b9bfe738c IAR: Moved search logic to BinUtils. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6372
| * IAR: Moved search logic to BinUtils.Jean-Marc Hengen2021-07-233-86/+54
| | | | | | | | | | | | | | | | | | | | | | The search logic for the IAR linker, librarian and related tools is moved from `Modules/Compiler/IAR-FindBinUtils.cmake` to `Modules/CMakeFindBinUtils.cmake` by introducing an new elseif block for the IAR toolchain. The search logic was refactored to omit repeating itself. Fixes: #22425
* | Merge topic 'CMakeDependentOption-revert-parens'Brad King2021-07-211-4/+1
|\ \ | | | | | | | | | | | | | | | | | | d777ca12f6 CMakeDependentOption: Revert "Allow parentheses in the depends string" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6368
| * | CMakeDependentOption: Revert "Allow parentheses in the depends string"Brad King2021-07-201-4/+1
| |/ | | | | | | | | | | | | | | Revert commit 0665d9092e (CMakeDependentOption: Allow parentheses in the depends string, 2021-06-13, v3.21.0-rc1~32^2). It broke existing use cases with parentheses in regular expressions. Also add a test for this. Fixes: #22447
| * Merge topic 'iar-exe-suffix' into release-3.21Brad King2021-07-201-2/+2
| |\ | | | | | | | | | | | | | | | | | | | | | 09bc0785ee Help: Document CMAKE_EXECUTABLE_SUFFIX_<LANG> explicitly 05a3bafe65 Compiler/IAR: Avoid clobbering CMAKE_EXECUTABLE_SUFFIX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6357
* | \ Merge topic 'iar-exe-suffix'Brad King2021-07-201-2/+2
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | 09bc0785ee Help: Document CMAKE_EXECUTABLE_SUFFIX_<LANG> explicitly 05a3bafe65 Compiler/IAR: Avoid clobbering CMAKE_EXECUTABLE_SUFFIX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6357
| * | Compiler/IAR: Avoid clobbering CMAKE_EXECUTABLE_SUFFIXLorenzo Cappelletti2021-07-201-2/+2
| | | | | | | | | | | | | | | | | | Use `CMAKE_EXECUTABLE_SUFFIX_<LANG>` instead. Fixes: #22426
* | | Merge topic 'iar-host-exe'Brad King2021-07-201-8/+24
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 1c66012f8e Compiler/IAR: search for both IAR's binaries * and *.exe Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6362
| * | Compiler/IAR: search for both IAR's binaries * and *.exeLorenzo Cappelletti2021-07-201-8/+24
| |/ | | | | | | | | | | | | | | | | IAR is available for both Linux and Windows OSes. Moreover, binaries `*.exe` could be called from a Linux box, or vice versa. See also commit 01a4eec446 (IAR: Changes required for Linux, 2019-04-25, v3.15.0-rc1~185^2). Fixes: #22312
* | Merge topic 'enable_language-CMP0126'Brad King2021-07-201-4/+0
|\ \ | |/ | | | | | | | | | | f75610d492 CMakeDetermineCompilerId: Fix CMAKE_EXECUTABLE_FORMAT in CMP0126 NEW behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6364
| * CMakeDetermineCompilerId: Fix CMAKE_EXECUTABLE_FORMAT in CMP0126 NEW behaviorBrad King2021-07-191-4/+0
| | | | | | | | | | | | | | | | Setting `CMAKE_EXECUTABLE_FORMAT` as a normal variable is unnecessary because setting it as a cache entry already makes the value visible to the calling scope. Fixes: #22433
| * Merge topic 'enable_language-CMP0126' into release-3.21Brad King2021-07-199-0/+28
| |\ | | | | | | | | | | | | | | | | | | 3ddd7f3576 enable_language: Fix test for working compiler with CMP0126 NEW behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6355
* | \ Merge topic 'enable_language-CMP0126'Brad King2021-07-199-0/+28
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 3ddd7f3576 enable_language: Fix test for working compiler with CMP0126 NEW behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6355
| * | enable_language: Fix test for working compiler with CMP0126 NEW behaviorBrad King2021-07-159-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the logic that converts a `try_compile` result from a cache entry to a normal variable to tolerate an existing normal variable under CMP0126 NEW behavior. Otherwise the `try_compile` result is ignored because CMake uses the false value of the normal variable, and CMake incorrectly reports that the compiler does not work. This went unnoticed for some languages (e.g. C and CXX) because the check for a working compiler is skipped if ABI detection works. It does affect other languages (e.g. CSharp). Fixes: #22423
* | | Merge topic 'vs2022'Brad King2021-07-191-0/+8
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0c7f918fb1 VS: Update Visual Studio 17 2022 generator for Preview 2 1ac1436b25 VS: Fix `/sourceDependencies` flag table entries for v143 919fc7fd5f VS: Remove broken EnableASAN entry from flag table for v143 3f19847b28 VS: Remove empty ExternalWarningLevel entry from flag table for v143 ccb6083cbe VS: Remove empty LanguageStandard entries from flag table for v143 c167de7e70 VS: Remove empty ConformanceMode entry from flag table for v143 993d706a17 VS: Populate `/JMC-` flag table entry for v143 a070d87e08 VS: Populate `-Qspectre-` flag table entry for v143 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Egor Pugin <egor.pugin@gmail.com> Merge-request: !6350
| * | VS: Add CSharp VS 2022 compiler version and flag table v143Brad King2021-07-151-0/+4
| | | | | | | | | | | | | | | | | | While the flag tables for C and C++ were generated from MSBuild `.xml` files, the CSharp flag tables were written by hand. Copy the `v142` flag table to use for the `v143` toolset.
| * | VS: Recognize CSharp VS 2019 compiler version v142Brad King2021-07-151-0/+4
| |/
* | Merge topic 'findblaslapack-cray'Brad King2021-07-152-26/+39
|\ \ | | | | | | | | | | | | | | | | | | | | | 76487b04b1 Find{BLAS,LAPACK}: clean variables fc54e68c05 Find{BLAS,LAPACK}: improve found message on Cray Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6348
| * | Find{BLAS,LAPACK}: clean variablesSeth R Johnson2021-07-142-25/+31
| | |
| * | Find{BLAS,LAPACK}: improve found message on CraySeth R Johnson2021-07-142-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With Cray compiler wrappers (implicitly tested on OLCF Spock) the BLAS and LAPACK libraries are automatically linked as necessary through the wrapper script and programming environment. With this change, the configure output is: ``` -- Found BLAS: implicitly linked <snip> -- Found LAPACK: implicitly linked ``` rather than ``` -- Found BLAS: 1 <snip> -- Found LAPACK: LAPACK_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES ```
* | | Merge topic 'armlink_armar_detection'Brad King2021-07-142-11/+9
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 509ef50a06 ARMClang: Fix regression in check for working compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6346
| * | ARMClang: Fix regression in check for working compilerLingkai Dong2021-07-142-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given the compiler to use, `CMakeFindBinUtils.cmake` automatically determines a number of tools including linker (CMAKE_LINKER) and archiver (CMAKE_AR) and stores them in a generated file `CMakeCCompiler.cmake` as non-CACHE entries. The compiler-specific ARMClang.cmake then tries to override CMAKE_LINKER and CMAKE_AR as CACHE entries. Following the introduction of CMP0126, which is set to NEW in the test for a working compiler, setting a CACHE entry does not replace a normal entry of the same name anymore, resulting in a failed test due to wrong linker and archiver. To fix this, set CMAKE_LINKER and CMAKE_AR for ARMClang directly in `CMakeFindBinUtils.cmake` as is done for other compilers. Check for them in `ARMClang.cmake` to safeguard cases when a project explicitly includes `ARMClang.cmake` prior to compiler determination (which some projects do to work around other problems in older CMake versions).
| * | Merge topic 'cpack-deb-post-ops' into release-3.21Brad King2021-07-131-1/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 805fa791d1 CPack/DEB: Avoid overriding user-provided `postinst` and `postrm` Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6335
* | \ \ Merge topic 'FindPkgConfig-LIBRARY_PATH'Brad King2021-07-141-0/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 36979f5b43 FindPkgConfig: Tolerate PKG_CONFIG_SYSTEM_LIBRARY_PATH in environment Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6345
| * | | | FindPkgConfig: Tolerate PKG_CONFIG_SYSTEM_LIBRARY_PATH in environmentBrad King2021-07-131-0/+12
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Tell `pkg-config --libs` not to filter out `-L` flags for entries of `PKG_CONFIG_SYSTEM_LIBRARY_PATH` (and `LIBRARY_PATH` for `pkgconf`). We should always search everywhere the `.pc` file expects. Fixes: #22148
* | | | FindMPI: Interrogate Cray compilerAxel Huebl2021-07-131-1/+49
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cray traditionally does not ship mpicc/mpic++ compiler wrappers. Due to that, the traditional CMake logic to find MPI is to *only* support MPI on Cray systems if either 1. Cray Wrappers are used for compiling, or 2. an auxiliary MPI executable is found. On many new Exascale prototypes, using the Cray wrappers for develop work is extremely painful. Vendors such as AMD and integrators such as HPE seem not to go well in lock-step in Cray programming envs, making offloading with Cray wrappers too challenging. On the other hand, using the working experimental Vendor compilers works well, as long as one does not need MPI. Extend the fallback MPI search logic by also interrogating the CC/cc/ftn binaries if found for their MPI flags. This does not change existing logic, i.e. using the Cray wrappers directly, but provides an additional way to get MPI programs compiled on Cray. Fixes: #22368
* | | Merge topic 'cpack-deb-lib-multiarch'Brad King2021-07-131-2/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 68b961d361 CPack/DEB: Add postinst/postrm ldconfig for multi-arch lib dirs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6341
| * | | CPack/DEB: Add postinst/postrm ldconfig for multi-arch lib dirsAlex Turbov2021-07-121-2/+4
| | | | | | | | | | | | | | | | Fixes: #22411
* | | | Merge topic 'UseSWIG-dependencies-VS-generators'Brad King2021-07-131-7/+18
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d1bece92d5 UseSWIG: Use swig generated dependencies for Visual Studio Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6327
| * | | | UseSWIG: Use swig generated dependencies for Visual StudioMarc Chevrier2021-07-091-7/+18
| |/ / /
* | | | Merge topic 'cpack-deb-post-ops'Brad King2021-07-131-1/+1
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 805fa791d1 CPack/DEB: Avoid overriding user-provided `postinst` and `postrm` Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6335
| * | | CPack/DEB: Avoid overriding user-provided `postinst` and `postrm`Alex Turbov2021-07-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a user provides `CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA` or `CPACK_DEBIAN_<comp>_PACKAGE_CONTROL_EXTRA` variables in `CMakeLists.txt` and the package contains dynamic libraries, the `CPackDeb.cmake` sets `CPACK_ADD_LDCONFIG_CALL` to `1`. Later it analyzes if defaulted `postinst`/`postrm` should be generated trying to check if the user provides any in `CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA` variable. However, the `foreach` loop uses the invalid variable `PACKAGE_CONTROL_EXTRA` instead, so these files gonna be overridden. Fix the variable name. Fixes: #22410
* | | | Merge topic 'FindBLAS-LAPACK-All'Brad King2021-07-132-4/+4
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | 31ac4b9165 ci: Verify that Intel MKL is found when it is the only BLAS/LAPACK 57dcde19da Find{BLAS,LAPACK}: Avoid clobbering results when no vendor is requested Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6336
| * | | Find{BLAS,LAPACK}: Avoid clobbering results when no vendor is requestedBrad King2021-07-122-4/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Logic added by commit 4c74c86f40 (FindBLAS/LAPACK: Add support for the Fujitsu SSL2 library, 2021-01-27, v3.21.0-rc1~402^2~1) accidentally expressed a boolean condition without proper grouping. The pattern was then copied by commit 2c9e623e31 (Find{BLAS,LAPACK}: Add support for the NVHPC LAPACK library, 2021-05-05, v3.21.0-rc1~192^2). The resulting logic incorrectly tries Fujitsu and NVHPC vendors even after results are found from another vendor, and then erases those. Fix the grouping. Fixes: #22403
| * | Merge topic 'FindJPEG-revert-turbo' into release-3.21Brad King2021-07-121-1/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 0de1f1503b FindJPEG: Revert "Search for 'turbojpeg' and 'turbojpeg-static' too" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6326
* | \ \ Merge topic 'LWYU-externalization'Brad King2021-07-129-3/+72
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 14e57e9637 LINK_WHAT_YOU_USE feature: externalize configuration 9c5132a586 PGI: Fix "LINKER:" prefix generated separator 8a93de080c cmGeneratorTarget: Add method for LINKER: prefix translation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6306
| * | | | LINK_WHAT_YOU_USE feature: externalize configurationMarc Chevrier2021-07-098-2/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, this feature is only supported on ELF platforms. So, the property LINK_WHAT_YOU_USE will be ignored for other plateforms. Moreover, flags and commands are now controled by CMake variables. Fixes: #20174
| * | | | PGI: Fix "LINKER:" prefix generated separatorMarc Chevrier2021-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Fix a typo from commit 66ea1a3795 (LINK_OPTIONS: Add support of "LINKER:" prefix, 2018-04-30, v3.13.0-rc1~437^2).
* | | | | Merge topic 'cpack-rpm-requires-exclude-from'Brad King2021-07-121-0/+12
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bb5fc38209 CPack/RPM: Add option to set %global __requires_exclude_from Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6324
| * | | | | CPack/RPM: Add option to set %global __requires_exclude_fromLisa Welsch2021-07-091-0/+12
| | | | | |
* | | | | | Merge topic 'FindJPEG-revert-turbo'Brad King2021-07-121-1/+1
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | / | |_|_|_|/ |/| | | | | | | | | | | | | | 0de1f1503b FindJPEG: Revert "Search for 'turbojpeg' and 'turbojpeg-static' too" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6326
| * | | | FindJPEG: Revert "Search for 'turbojpeg' and 'turbojpeg-static' too"Brad King2021-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 74cc2e3326 (FindJPEG: Search for 'turbojpeg' and 'turbojpeg-static' too, 2021-01-09, v3.20.0-rc1~176^2) pending further investigation. The "turbo" variants are not drop-in replacements on all platforms. Fixes: #22333
| * | | | Merge branch 'check_cxx_compiler_flag_no_normal_variable' into release-3.20Brad King2021-07-081-1/+0
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !6318
| * | | | | IntelLLVM: Fix C/C++ standard level flags on WindowsBrad King2021-07-072-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based compilers, 2020-11-02, v3.20.0-rc1~89^2~20) we accidentally left out activation of the C/C++ standard level selection logic when IntelLLVM is targeting the MSVC ABI. Fixes: #22388
* | | | | | Merge topic 'iar-linker-placeholder'Brad King2021-07-081-7/+7
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | / | | |_|_|/ | |/| | | | | | | | | | | | | bf810c75ac IAR: Use placeholders in linker and archiver rules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6322
| * | | | IAR: Use placeholders in linker and archiver rulesJean-Marc Hengen2021-07-081-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the IAR linker and archiver rules to use the `<CMAKE_LINKER>` and `<CMAKE_AR>` placeholders instead of hard-coding the tool names. Fixes: #22395
| * | | | Merge topic 'FindCUDAToolkit-doc-version' into release-3.21Brad King2021-07-081-3/+8
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 266fc8ada5 FindCUDAToolkit: Properly document the version support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6320
| * \ \ \ \ Merge topic 'check_cxx_compiler_flag_no_normal_variable' into release-3.21Brad King2021-07-081-1/+0
| |\ \ \ \ \ | | | |_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 018d300ca0 Check*CompilerFlag: Do not set result as a normal variable too Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6318
* | | | | | Merge topic 'FindMPI-adjust-compile-definitions-early'Brad King2021-07-081-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0c1b9b3516 FindMPI: Choose definitions for MPI_CXX_SKIP_MPICXX before first use Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6303
| * | | | | | FindMPI: Choose definitions for MPI_CXX_SKIP_MPICXX before first useYe Luo2021-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #22391