summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | | | Compiler/TI: Add std options for C11Josef Angstenberger2020-09-201-0/+11
| | | | | | | |
| | * | | | | | Compiler/TI: Check default C standardJosef Angstenberger2020-09-202-0/+19
| | | | | | | |
| | * | | | | | Compiler/TI: Check compiler version for C99 supportJosef Angstenberger2020-09-201-4/+35
| | | | | | | |
| | * | | | | | Compiler/TI: Fix definition of std optionsJosef Angstenberger2020-09-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - The compile option variable has to be defined as list. - The compiler works in relaxed ANSI mode by default. Strict ANSI has to be explicitly set additionally to the language standard.
| | * | | | | | Compiler/TI: Avoid generic variable name in macroJosef Angstenberger2020-09-201-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit a548a52230 (Compiler/TI: Refactor C/CXX to use a common file, 2020-07-11) a variable named `prefix` has been introduced. It is set in the callers namespace because it was defined inside a macro, not a function. Avoid such generic variable name.
| * | | | | | | Merge topic 'findthreads_missing_prototype'Brad King2020-09-221-1/+1
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6ef64013ba FindThreads: Add missing static keyword in pthread test code Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Rolf Eike Beer <eike@sf-mail.de> Merge-request: !5241
| | * | | | | | | FindThreads: Add missing static keyword in pthread test codePavel Otchertsov2020-09-181-1/+1
| | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CMAKE_C_FLAGS contains '-Werror -Wmissing-prototypes' the pthread test code check fails with error: "src.c:3:7: error: no previous prototype for 'test_func' [-Werror=missing-prototypes]". Adding 'static' keyword to 'test_func' fixes it.
| * | | | | | | Merge topic 'FindGLEW-platform'Brad King2020-09-221-2/+1
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d628ac0eb8 FindGLEW: Avoid using CMAKE_GENERATOR_PLATFORM to detect platform Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5244
| | * | | | | | | FindGLEW: Avoid using CMAKE_GENERATOR_PLATFORM to detect platformAsit Dhal2020-09-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use `CMAKE_SIZEOF_VOID_P` instead. Fixes: #21128
| * | | | | | | | Merge topic 'findcudatoolkit_cross_scattered'Brad King2020-09-221-4/+5
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9d3f7872e1 FindCUDAToolkit: Support scattered installations when crosscompiling Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5247
| | * | | | | | | | FindCUDAToolkit: Support scattered installations when crosscompilingRaul Tambre2020-09-201-4/+5
| | | |/ / / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously when CMAKE_CROSSCOMPILING was ON we'd end up not setting the target directory if the non-scattered one didn't exist. Fix this by assuming a scattered installation if the target directory isn't set after the crosscompiling logic. This is the same fix as commit 2c0d5d01ee (CUDA: Support scattered installations when crosscompiling with Clang, 2020-09-14).
| * | | | | | | | Merge topic 'check-compiler-flag-result'Brad King2020-09-222-2/+0
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d4390c13e9 Merge branch 'backport-3.17-check-compiler-flag-result' d46590910c Check*CompilerFlag: Do not set result as a normal variable too Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alexander Grund <github@grundis.de> Merge-request: !5250
| * \ \ \ \ \ \ \ \ Merge topic 'xcode-12-new-build-system'Brad King2020-09-212-0/+13
| |\ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b8ecd4df5f ExternalProject: Use CMP0114 NEW behavior with Xcode "new build system" fe258f6382 Tests: Skip RunCMake.XcodeProject device cases for Xcode "new build system" 1c3d2d0951 Tests: Skip Qt*Autogen.MocSkipSource case for Xcode "new build system" 542884e527 Tests: Update RunCMake.XcodeProject cases for Xcode "new build system" 832a78be2d Tests: Update BuildDepends test for Xcode "new build system" ff76c51ec3 Tests: Update RunCMake.file case with workaround for Xcode "new build system" 1806cdd17c Tests: Avoid duplicate custom commands for Xcode "new build system" 8d5f4c4db9 Xcode: Switch to the "new build system" for Xcode 12 and above ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5229
| | * | | | | | | | ExternalProject: Use CMP0114 NEW behavior with Xcode "new build system"Brad King2020-09-182-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ExternalProject module cannot be implemented in the Xcode "new build system" without using CMP0114's NEW behavior. When configuring for that build system, warn if the policy is not set to NEW and use NEW behavior anyway.
| * | | | | | | | | Merge topic 'FindMatlab-r2020b'Brad King2020-09-181-0/+1
| |\ \ \ \ \ \ \ \ \ | | |_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4d292aecb6 FindMatlab: add R2020b => 9.9 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5233
| * | | | | | | | | Merge topic 'finddoxygen-permission-denied'Brad King2020-09-171-7/+11
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 818c6948da FindDoxygen: build the generated file contents using temporary strings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5230
| | * | | | | | | | | FindDoxygen: build the generated file contents using temporary stringsRonald Hiemstra2020-09-161-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Incrementally writing to a file, could result in write (permission denied) errors. Those errors are probably due to file-monitoring processes having a temporary lock on a generated file. The implemented solution builds the content of the generated file as string and in the end the built string is written to the generated file. Fixes: #21190
| * | | | | | | | | | Merge topic 'findlibxml2_add_names'Brad King2020-09-171-1/+1
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fa258f175d FindLibXml2 : added libxml2_a to find_library() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5232
| | * | | | | | | | | | FindLibXml2 : added libxml2_a to find_library()Olivier LIESS2020-09-161-1/+1
| | |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should match the default static library name defined by LibXml2 Makefile.msvc
| * | | | | | | | | | Merge topic 'system-includes-for-clang-on-windows'Brad King2020-09-171-0/+1
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bb61c2d024 Clang: use -imsvc for system include dirs when running on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Raul Tambre <raul@tambre.ee> Acked-by: Thomas Bernard <thomas@famillebernardgouriou.fr> Merge-request: !5231
| | * | | | | | | | | | Clang: use -imsvc for system include dirs when running on WindowsAndrew Fuller2020-09-161-0/+1
| | |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #17808
| * | | | | | | | | | Merge topic 'flexiblas'Brad King2020-09-162-0/+34
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 68349ae214 Find{BLAS,LAPACK}: Add support for FlexiBLAS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5225
| | * | | | | | | | | | Find{BLAS,LAPACK}: Add support for FlexiBLASMattias Ellert2020-09-142-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://www.mpi-magdeburg.mpg.de/mpcsc/software/FlexiBLAS/
| * | | | | | | | | | | Merge topic 'CMAKE_LINKER_points_to_lld_link_for_msvc_with_clang_gnu_interface'Brad King2020-09-161-1/+5
| |\ \ \ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 013270ef09 Clang: Detect lld-link when using gnu front end with msvc target Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5193
| | * | | | | | | | | | Clang: Detect lld-link when using gnu front end with msvc targetThomas Bernard2020-09-141-1/+5
| | |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21137
| * | | | | | | | | | Merge topic 'ExternalProject-steps-refinement'Brad King2020-09-151-57/+257
| |\ \ \ \ \ \ \ \ \ \ | | | |_|/ / / / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b4fc4da903 ExternalProject: Add policy CMP0114 to refine step target dependencies f5791e24c6 Tests: Match RunCMake.ExternalProject NO_DEPENDS output more strictly b637ef494c ExternalProject: Factor out an internal helper to add a step target Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5215
| | * | | | | | | | | ExternalProject: Add policy CMP0114 to refine step target dependenciesBrad King2020-09-141-43/+235
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `ExternalProject_Add_StepTargets` and `INDEPENDENT_STEP_TARGETS` have some limitations and lack some sanity checks. They can cause confusing build systems to be generated. The basic problems are: * The notion of step independence is attached to the step target rather than the step itself. * The custom commands implementing the steps are duplicated in the step targets and the primary targets. This can cause races. It is also incompatible with the Xcode "new build system". Fix this by introducing policy CMP0114 to change the way step target dependencies are handled. Define independence from external dependencies as a property of each individual step regardless of whether there is a target for it. Add dependencies among the primary target and the step targets such that each custom command only appears in one target. When some steps are disconnected from the primary target, add step targets for the steps commonly depended upon so that there is a place to hold their custom commands uniquely. Fixes: #18663
| | * | | | | | | | | ExternalProject: Factor out an internal helper to add a step targetBrad King2020-09-101-19/+27
| | | | | | | | | | |
| * | | | | | | | | | Merge topic 'cuda_clang_scattered_cross'Brad King2020-09-151-2/+5
| |\ \ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2c0d5d01ee CUDA: Support scattered installations when crosscompiling with Clang Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5222
| | * | | | | | | | | CUDA: Support scattered installations when crosscompiling with ClangRaul Tambre2020-09-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously when CMAKE_CROSSCOMPILING was ON we'd end up not setting the target directory if the non-scattered one didn't exist. Fix this by assuming a scattered installation if the target directory isn't set after the crosscompiling logic.
| * | | | | | | | | | Merge topic 'findpython-docs-fixes'Kyle Edwards2020-09-143-3/+3
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b564ced24f FindPython: fix typo in Python_LIBRARY_DIRS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5220
| | * | | | | | | | | | FindPython: fix typo in Python_LIBRARY_DIRSPhilipp Storz2020-09-113-3/+3
| | |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the wrong spelling of Python_LIBRARY_DIRS as "Python_LIBRAY_DIRS" which exists in - FindPython - FindPython2 - FindPython3
| * | | | | | | | | | Merge topic 'add_COMPILER_TARGET_for_all_clang_variants_on_windows'Brad King2020-09-144-10/+14
| |\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cf83758b24 Clang: Implement CMAKE_${LANG}_COMPILER_TARGET for all variants on windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5192
| | * | | | | | | | | Clang: Implement CMAKE_${LANG}_COMPILER_TARGET for all variants on windowsThomas Bernard2020-09-114-10/+14
| | |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21097
| * | | | | | | | | Merge topic 'ispc_window_failures'Brad King2020-09-111-1/+5
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bf88a94d88 ISPC: CompilerLauncher tests work properly with x86 builds 8de145cae1 ISPC: DynamicLibrary test now passes on windows. a83521e082 ISPC: Use the `obj` file extension for objects on windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5213
| | * | | | | | | | | ISPC: Use the `obj` file extension for objects on windowsRobert Maynard2020-09-101-1/+5
| | | | | | | | | | |
| * | | | | | | | | | Merge topic 'armclang-fixes'Brad King2020-09-111-2/+3
| |\ \ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3d1ed986e2 ARMClang: Fix link line generation after addition of armlink support Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Osama Moharam <osama.moharam.uw@renesas.com> Merge-request: !5211
| * | | | | | | | | | Merge topic 'pch-instantiate-templates'Brad King2020-09-101-0/+3
| |\ \ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8c8f03422e PCH: Template instantiation support Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Raul Tambre <raul@tambre.ee> Acked-by: Cristian Adam <cristian.adam@gmail.com> Tested-by: Raul Tambre <raul@tambre.ee> Merge-request: !5168
| | * | | | | | | | | PCH: Template instantiation supportTobias Hieta2020-09-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds PCH_INSTANTIATE_TEMPLATES target property for enabling template instantiation in precompiled headers. Enabled by default. Currently only supported for Clang 11 and newer. Implements #21133.
| * | | | | | | | | | Merge topic 'ios-pch-x-lang-header'Brad King2020-09-094-4/+19
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8d61294c3e PCH: Mark CMake PCH source files as -x <lang>-header Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5188
| * \ \ \ \ \ \ \ \ \ \ Merge topic 'ExternalData-doc-typo'Brad King2020-09-081-1/+1
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1ad991a13e Help: correct typo in ExternalData (duplicate "of") Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5196
| | * | | | | | | | | | | Help: correct typo in ExternalData (duplicate "of")Joachim Wuttke (o)2020-09-071-1/+1
| | | | | | | | | | | | |
| * | | | | | | | | | | | Merge topic 'ispc_improvements'Brad King2020-09-081-0/+5
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a020787a9b ISPC: Support generation for multiple instruction sets 5a1750017e ISPC: Add compiler launcher support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5173
| | * | | | | | | | | | | | ISPC: Add compiler launcher supportRobert Maynard2020-09-031-0/+5
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | Merge topic 'FindPython-set-CMP0012-NEW'Brad King2020-09-081-1/+11
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0670797d71 FindPython: CMP0012 must be set to NEW Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5198
| * | | | | | | | | | | | | Merge topic 'FindPython-include-dir-ABI-checks'Brad King2020-09-031-8/+18
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6fdfe2428d FindPython: enhance ABI checks against include directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5181
| * | | | | | | | | | | | | | ARMClang: Pass defines to assemblerHugues Kamba2020-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful when the assembly file(s) is passed to the pre-processor.
| * | | | | | | | | | | | | | Merge topic 'cuda_host_compiler_fail'Brad King2020-09-012-21/+29
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 01428c5560 CUDA: Fail fast if CMAKE_CUDA_ARCHITECTURES doesn't work during detection 9f81aa0f69 CUDA: Fail if compiler detection using the host compiler fails Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5155
| | * | | | | | | | | | | | | | CUDA: Fail fast if CMAKE_CUDA_ARCHITECTURES doesn't work during detectionRaul Tambre2020-08-291-18/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also re-ordered the code to avoid testing flags for other compilers, since we know the vendor before full detection.
| | * | | | | | | | | | | | | | CUDA: Fail if compiler detection using the host compiler failsRaul Tambre2020-08-292-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an user specified a host compiler we should fail if we are unable to perform compiler detection with it. Previously we would try without and likely succeed and continue. Then we'd fail during ABI detection and compiler testing since we'd still try to use it. This is particularly problematic when crosscompiling since we extract the host linker from the compiler detection link line. This would result in the wrong host linker being used and a linking error due to architecture mismatch during ABI detection where other necessary flags may already be present to make the host compiler work. See #21076 for an example. Fix this by adding CMAKE_<LANG>_COMPILER_ID_REQUIRE_SUCCESS to CMakeDetermineCompilerId, which throws a fatal error if executing the compiler results in a non-zero exit code. Fixes #21120.