summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'msvc-c17'Brad King2021-10-291-29/+39
|\ | | | | | | | | | | | | | | | | | | c5cc4ddac4 MSVC: Add support for C17 6561b032bc MSVC: Tolerate c_std_17 and c_std_23 features on older compiler versions 22f804e0ec MSVC: Refactor C compile features table for C90, C99, and C11 Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !6677
| * MSVC: Add support for C17Brad King2021-10-281-0/+2
| | | | | | | | | | | | C17 support has been available in MSVC since VS 16.8. Fixes: #22816
| * MSVC: Tolerate c_std_17 and c_std_23 features on older compiler versionsBrad King2021-10-281-0/+2
| | | | | | | | | | | | | | MSVC `cl` versions prior to 19.27 had no `-std:c*` flags for C standards. List the `c_std_{17,23}` features anyway. This allows projects to at least attempt compilation with these compilers since they do not have any modes.
| * MSVC: Refactor C compile features table for C90, C99, and C11Brad King2021-10-281-29/+35
| | | | | | | | | | | | | | | | | | | | | | The custom "no modes" `cmake_record_c_compile_features` implementation should only be used in `cl` versions prior to 19.27 because they had no `-std:c*` flags for C standards. For 19.27 we need a different custom implementation to account for partial C11 support. For 19.28 and above we can use the default implementation through the `*__HAS_FULL_SUPPORT` settings. We already use this pattern in the MSVC C++ compile feature table.
* | Merge topic 'vulkan-version-support'Brad King2021-10-281-14/+43
|\ \ | | | | | | | | | | | | | | | | | | caeaabb356 FindVulkan: Add version support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6669
| * | FindVulkan: Add version supportRalf Habacker2021-10-271-14/+43
| | | | | | | | | | | | | | | The version is constructed in the form <major>.<minor>.<patch> e.g. 1.2.189.
* | | Merge topic 'cpack-qtifw-4.2'Brad King2021-10-281-0/+1
|\ \ \ | |/ / |/| / | |/ | | | | | | 51a2afe6e7 CPack/IFW: Add support for QtIFW 4.2 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6674
| * CPack/IFW: Add support for QtIFW 4.2Erlend E. Aasland2021-10-271-0/+1
| |
* | Merge topic 'hip-flags-append'Brad King2021-10-271-1/+1
|\ \ | |/ | | | | | | | | | | 3d0e2775a5 HIP: Add missing space when appending --cuda-host-only Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6662
| * HIP: Add missing space when appending --cuda-host-onlyBrad King2021-10-261-1/+1
| | | | | | | | Fixes: #22805
| * Merge topic 'binutils-llvm-strip' into release-3.22Brad King2021-10-261-1/+4
| |\ | | | | | | | | | | | | | | | | | | 5dd981539f BinUtils: Avoid llvm-strip versions older than Clang 11 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6655
* | \ Merge topic 'check-symbol-exists-pedantic-errors'Brad King2021-10-261-0/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 1ab7c3cd28 CheckSymbolExists: Work around GCC failure with -pedantic-errors option Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6656
| * | | CheckSymbolExists: Work around GCC failure with -pedantic-errors optionTimo Röhling2021-10-221-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC mistakenly issues the pedantic warning "ISO C forbids conversion of function pointer to object pointer type". With -pedantic-errors in the compile flags, that diagnostic prevents check_symbol_exists() from detecting function symbols. The solution is to filter out -pedantic-errors (and -Werror, just to be future proof) before invoking try_compile(). Fixes: #13208
* | | | Merge topic 'binutils-llvm-strip'Brad King2021-10-261-1/+4
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | 5dd981539f BinUtils: Avoid llvm-strip versions older than Clang 11 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6655
| * | BinUtils: Avoid llvm-strip versions older than Clang 11Brad King2021-10-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit cf82300a63 (BinUtils: Clarify search logic and make it more consistent, 2021-05-27, v3.21.0-rc1~119^2~2) we correctly prefer the more-specific name `llvm-strip` over `strip` when using Clang. However, `llvm-strip` from Clang versions prior to 11 require extra flags to strip everything. Until our `install(TARGETS)` logic learns to add those flags, avoid using older versions of `llvm-strip` by default. Fixes: #22785
* | | Merge topic 'lcc-policy'Brad King2021-10-223-0/+37
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3958ed878f LCC: Add policy CMP0129 regarding interpreting LCC as GNU Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6643
| * | | LCC: Add policy CMP0129 regarding interpreting LCC as GNUmakise-homura2021-10-213-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to MCST LCC compiler identification is now changed to LCC, there should be a way for old projects to still identify it as GNU, as it was before. This commits adds the policy: CMP0129: Compiler id for MCST LCC compilers is now LCC, not GNU. This policy controls such a behavior. OLD behaivior is to treat LCC as GNU, NEW is to treat is as LCC.
* | | | Merge topic 'vs-instance'Brad King2021-10-211-1/+3
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 46e9ff5729 Restore honoring CMAKE_GENERATOR_INSTANCE in toolchain file 42418b02f7 Android: Refactor sysroot detection under Visual Studio 44a86d0b38 cmake_host_system_information: Add undocumented VS_MSBUILD_COMMAND key 6999b87133 cmGlobalVisualStudio10Generator: Add method to find MSBuild early 7f730464be cmGlobalGenerator: Add method to check if generator is at least VS 10 8917b8512f cmGlobalVisualStudioVersionedGenerator: Allow repeating SetGeneratorInstance 6511654164 cmGlobalVisualStudio10Generator: Allow subclasses to reset MSBuild search Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6646
| * | | Android: Refactor sysroot detection under Visual StudioBrad King2021-10-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 6051a49c78 (Visual Studio: Add Android support, 2020-06-12, v3.19.0-rc1~619^2) we run MSBuild to build a sample project to detect the sysroot. Previously we relied on `CMAKE_VS_MSBUILD_COMMAND` being available. That required commit d5b5c19278 (cmGlobalGenerator: FindMakeProgram() before CMakeDetermineSystem, 2020-06-15, v3.19.0-rc1~619^2~3) to make it available early enough. However, that ordering broke `CMAKE_GENERATOR_INSTANCE` so we need to prepare to revert it. Use `cmake_host_system_information` to get the location of MSBuild under a VS generator instead.
* | | | CUDA: Allow both CUDA_SEPARABLE_COMPILATION and CUDA_PTX_COMPILATIONRobert Maynard2021-10-204-24/+9
| | | | | | | | | | | | | | | | | | | | | | | | The target properties `CUDA_SEPARABLE_COMPILATION` and `CUDA_PTX_COMPILATION` now aren't mutually exclusive and can now be used together on the same target.
* | | | Merge topic 'platform-generic-elf'Brad King2021-10-201-0/+7
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | 3f9b40dab7 Generic-ELF: Add platform module to configure the .elf file extension Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6630
| * | | Generic-ELF: Add platform module to configure the .elf file extensionJordan Williams2021-10-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `.elf` extension is a common convention used for embedded binaries. Both Arm and RISC-V use the ELF file format for executables. Configuring the `.elf` file extension is typically done incorrectly. Most embedded developers set this in toolchain files, which is not the correct place. This is typically accomplished through a hack by setting the individual language file extensions for C, CXX, and ASM. Multiple CMake issues in the past have been opened related to this. * #16538 * #20163 * #17880 A platform module makes it simpler and less error prone for developers targeting these ubiquitous bare-metal platforms. This PR attempts to solve this globally with a generic platform. This could also be solved by using more specific platform modules, such as one for each of bare-metal Arm and RISC-V.
* | | | Merge topic 'lcc-compiler'Brad King2021-10-1927-11/+421
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 02b2607a5c Help: Add release note for MCST LCC compiler support e5d9fce03f LCC: Add dedicated support for MCST LCC compiler 2b9ef77944 CPack/DEB: deal with broken dpkg-shlibdeps on E2K architecture 0995c75301 Tests/RPM: skip tests tat rely on debugedit if it's not found ea55ac9a51 Tests/RunCMake/CommandLine: Deal with locales that are different from English Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6608
| * | | | LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-1526-11/+413
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.
| * | | | CPack/DEB: deal with broken dpkg-shlibdeps on E2K architecturemakise-homura2021-10-151-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "OS Elbrus" (OSL for short), a reference Linux distro for E2K (Elbrus) platform may have broken dpkg-shlibdeps, that doesn't specify dependencies correctly. In this case, the only reliable way is to explicitly set dependencies of libc6 and lcc-libs, and then warn user to let him know this list may be incomplete. This commit does that. This fix has no effect on correctly working dpkg-shlibdeps, so when this bug will be fixed in new versions of OSL, CPack will work as expected with these distros.
* | | | | Merge topic 'CheckLanguage-cuda-host-compiler'Brad King2021-10-191-1/+1
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | 7123c8fdbf CheckLanguage: Don't pass CMAKE_CUDA_HOST_COMPILER for Visual Studio Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6633
| * | | | CheckLanguage: Don't pass CMAKE_CUDA_HOST_COMPILER for Visual StudioRaul Tambre2021-10-191-1/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | Visual Studio doesn't support specifying it and if we do we get a warning. Fixes: #22712
* | | | Merge topic 'ctest_submit-inactivity-timeout'Brad King2021-10-181-0/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 5d178fcc53 CTest: Add CTEST_SUBMIT_INACTIVITY_TIMEOUT variable Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6584
| * | | CTest: Add CTEST_SUBMIT_INACTIVITY_TIMEOUT variableNikhil Reddy Ramolla2021-10-141-0/+1
| | | | | | | | | | | | | | | | Fixes: #22617
| * | | Merge topic 'msvc-c++23'Brad King2021-10-121-0/+1
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | ef47e18ad0 MSVC: Tolerate cxx_std_23 feature on older compiler versions Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !6614
* | | | Merge branch 'backport-3.21-vs2022' into vs2022Brad King2021-10-141-1/+1
|\ \ \ \ | | |_|/ | |/| |
| * | | IRSL: Fix discovery of VS 2022 v143 toolset redistributables for preview 5Brad King2021-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | VS 2022 Preview 5 renamed the redist directories from `Microsoft.VC142.*` to `Microsoft.VC143.*` in order to match the `v143` toolset name. Fixes: #22586
| * | | Merge branch 'msvc-c++23' into release-3.21Brad King2021-10-121-0/+1
| |\ \ \ | | | |/ | | |/| | | | | Merge-request: !6614
| * | | Merge topic 'revert-debian-libexec' into release-3.21Brad King2021-10-081-13/+2
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6658e260d4 GNUInstallDirs: Fix misinterpretation of Debian Policy on LIBEXECDIR Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6607
| * \ \ \ Merge topic 'corret_nvhpc_fortran_compile_deps' into release-3.21Brad King2021-10-073-12/+21
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1a828043b7 NVHPC: only use '-MD' for the C and CXX languages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6602
* | \ \ \ \ Merge topic 'msvc-c++23' into release-3.22Brad King2021-10-121-0/+1
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | / | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | ef47e18ad0 MSVC: Tolerate cxx_std_23 feature on older compiler versions Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !6614
| * | | | MSVC: Tolerate cxx_std_23 feature on older compiler versionsBrad King2021-10-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 3aaf1d91bf (MSVC: C++20 final flag, C++23 support, 2021-05-29, v3.20.4~7^2~1) we forgot to add `cxx_std_23` to the fallback table for MSVC versions from VS 2010 through VS 2015. This allows project to at least attempt compilation with these compilers since they do not have any modes. Issue: #22729
* | | | | Merge topic 'find-blas-lapack-cleanup'Brad King2021-10-082-30/+30
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 635f2c87f5 FindBLAS: Fix EML and ArmPL indentations 816dc1cb19 FindBLAS: Replace set(A val) with string(APPEND) a7843faa20 FindLAPACK: Replace set(A val) with string(APPEND) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6605
| * | | | | FindBLAS: Fix EML and ArmPL indentationsIgor S. Gerasimov2021-10-071-19/+19
| | | | | |
| * | | | | FindBLAS: Replace set(A val) with string(APPEND)Igor S. Gerasimov2021-10-072-8/+8
| | | | | |
| * | | | | FindLAPACK: Replace set(A val) with string(APPEND)Igor S. Gerasimov2021-10-071-5/+5
| | | | | |
* | | | | | Merge topic 'revert-debian-libexec'Brad King2021-10-081-13/+2
|\ \ \ \ \ \ | |/ / / / / |/| | | | / | | |_|_|/ | |/| | | | | | | | | | | | | 6658e260d4 GNUInstallDirs: Fix misinterpretation of Debian Policy on LIBEXECDIR Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6607
| * | | | GNUInstallDirs: Fix misinterpretation of Debian Policy on LIBEXECDIRTimo Röhling2021-10-071-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 798c1c3192 (GNUInstallDirs: Comply with Debian Policy on LIBEXECDIR, 2020-10-08, v3.19.0-rc1~11^2). The Debian Policy builds upon FHS 3.0 and permits installing to `/usr/libexec`. While Policy does grant an additional exception for applications to use a single subdirectory of `/usr/lib/<triplet>`, this is not meant to replace `/usr/libexec` as valid target. Fixes: #22731
* | | | | Merge topic 'math_libs_include'Brad King2021-10-071-0/+19
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 32574814c7 FindCUDAToolkit: Fix missing sibling include directory for math libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !6591
| * | | | | FindCUDAToolkit: Fix missing sibling include directory for math librariesSteven Hahn2021-10-051-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #22706
* | | | | | Merge topic 'FindJasper-imported-target'Brad King2021-10-071-26/+69
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6e8754c625 FindJasper: Add IMPORTED target bdbce845cd FindJasper: Add JASPER_INCLUDE_DIRS result variable 7f8413c309 FindJasper: Modernize documentation layout 524205a7a5 FindJasper: Modernize code layout Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4633
| * | | | | | FindJasper: Add IMPORTED targetHiroshi Miura2021-10-061-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #20601 Signed-off-by: Hiroshi Miura <miurahr@linux.com>
| * | | | | | FindJasper: Add JASPER_INCLUDE_DIRS result variableHiroshi Miura2021-10-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `JASPER_INCLUDE_DIR` cache entry is not supposed to be the public result variable.
| * | | | | | FindJasper: Modernize documentation layoutHiroshi Miura2021-10-061-7/+24
| | | | | | |
| * | | | | | FindJasper: Modernize code layoutHiroshi Miura2021-10-061-20/+16
| | | | | | |