From 588371d2d5fdda0340b29058147f49e40723ba71 Mon Sep 17 00:00:00 2001 From: Tyler Date: Wed, 6 Mar 2024 15:32:16 -0700 Subject: Modules: Rename CMakeDetermine{CompileFeatures -> CompilerSupport} Rename the CMake script at `${CMAKE_ROOT}\Modules\CMakeDetermineCompileFeatures.cmake` to `${CMAKE_ROOT}\Modules\CMakeDetermineCompilerSupport.cmake`. Also, rename the function defined in that script from `cmake_determine_compile_features()` to `cmake_determine_compiler_support()`. Modify existing CMake scripts which were including the previous CMake script to refer to the new file and call the new function. --- Modules/CMakeDetermineCompileFeatures.cmake | 246 ---------------------------- Modules/CMakeDetermineCompilerSupport.cmake | 246 ++++++++++++++++++++++++++++ Modules/CMakeTestCCompiler.cmake | 4 +- Modules/CMakeTestCUDACompiler.cmake | 4 +- Modules/CMakeTestCXXCompiler.cmake | 4 +- Modules/CMakeTestHIPCompiler.cmake | 4 +- Modules/CMakeTestOBJCCompiler.cmake | 4 +- Modules/CMakeTestOBJCXXCompiler.cmake | 4 +- 8 files changed, 258 insertions(+), 258 deletions(-) delete mode 100644 Modules/CMakeDetermineCompileFeatures.cmake create mode 100644 Modules/CMakeDetermineCompilerSupport.cmake diff --git a/Modules/CMakeDetermineCompileFeatures.cmake b/Modules/CMakeDetermineCompileFeatures.cmake deleted file mode 100644 index 09de7b1..0000000 --- a/Modules/CMakeDetermineCompileFeatures.cmake +++ /dev/null @@ -1,246 +0,0 @@ -# Distributed under the OSI-approved BSD 3-Clause License. See accompanying -# file Copyright.txt or https://cmake.org/licensing for details. - - -function(cmake_determine_compile_features lang) - - if("x${lang}" STREQUAL "xC" AND COMMAND cmake_record_c_compile_features) - message(CHECK_START "Detecting ${lang} compile features") - - set(CMAKE_C90_COMPILE_FEATURES) - set(CMAKE_C99_COMPILE_FEATURES) - set(CMAKE_C11_COMPILE_FEATURES) - set(CMAKE_C17_COMPILE_FEATURES) - set(CMAKE_C23_COMPILE_FEATURES) - - include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake") - - cmake_record_c_compile_features() - - if(NOT _result EQUAL 0) - message(CHECK_FAIL "failed") - return() - endif() - - if (CMAKE_C17_COMPILE_FEATURES AND CMAKE_C23_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_C23_COMPILE_FEATURES ${CMAKE_C17_COMPILE_FEATURES}) - endif() - if (CMAKE_C11_COMPILE_FEATURES AND CMAKE_C17_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_C17_COMPILE_FEATURES ${CMAKE_C11_COMPILE_FEATURES}) - endif() - if (CMAKE_C99_COMPILE_FEATURES AND CMAKE_C11_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_C11_COMPILE_FEATURES ${CMAKE_C99_COMPILE_FEATURES}) - endif() - if (CMAKE_C90_COMPILE_FEATURES AND CMAKE_C99_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_C99_COMPILE_FEATURES ${CMAKE_C90_COMPILE_FEATURES}) - endif() - - if(NOT CMAKE_C_COMPILE_FEATURES) - set(CMAKE_C_COMPILE_FEATURES - ${CMAKE_C90_COMPILE_FEATURES} - ${CMAKE_C99_COMPILE_FEATURES} - ${CMAKE_C11_COMPILE_FEATURES} - ${CMAKE_C17_COMPILE_FEATURES} - ${CMAKE_C23_COMPILE_FEATURES} - ) - endif() - - set(CMAKE_C_COMPILE_FEATURES ${CMAKE_C_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_C90_COMPILE_FEATURES ${CMAKE_C90_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_C99_COMPILE_FEATURES ${CMAKE_C99_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_C11_COMPILE_FEATURES ${CMAKE_C11_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_C17_COMPILE_FEATURES ${CMAKE_C17_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_C23_COMPILE_FEATURES ${CMAKE_C23_COMPILE_FEATURES} PARENT_SCOPE) - - message(CHECK_PASS "done") - - elseif("x${lang}" STREQUAL "xCXX" AND COMMAND cmake_record_cxx_compile_features) - message(CHECK_START "Detecting ${lang} compile features") - - set(CMAKE_CXX98_COMPILE_FEATURES) - set(CMAKE_CXX11_COMPILE_FEATURES) - set(CMAKE_CXX14_COMPILE_FEATURES) - set(CMAKE_CXX17_COMPILE_FEATURES) - set(CMAKE_CXX20_COMPILE_FEATURES) - set(CMAKE_CXX23_COMPILE_FEATURES) - set(CMAKE_CXX26_COMPILE_FEATURES) - - include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake") - - cmake_record_cxx_compile_features() - - if(NOT _result EQUAL 0) - message(CHECK_FAIL "failed") - return() - endif() - - if (CMAKE_CXX23_COMPILE_FEATURES AND CMAKE_CXX26_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CXX26_COMPILE_FEATURES ${CMAKE_CXX23_COMPILE_FEATURES}) - endif() - if (CMAKE_CXX20_COMPILE_FEATURES AND CMAKE_CXX23_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CXX23_COMPILE_FEATURES ${CMAKE_CXX20_COMPILE_FEATURES}) - endif() - if (CMAKE_CXX17_COMPILE_FEATURES AND CMAKE_CXX20_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CXX20_COMPILE_FEATURES ${CMAKE_CXX17_COMPILE_FEATURES}) - endif() - if (CMAKE_CXX14_COMPILE_FEATURES AND CMAKE_CXX17_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CXX17_COMPILE_FEATURES ${CMAKE_CXX14_COMPILE_FEATURES}) - endif() - if (CMAKE_CXX11_COMPILE_FEATURES AND CMAKE_CXX14_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CXX14_COMPILE_FEATURES ${CMAKE_CXX11_COMPILE_FEATURES}) - endif() - if (CMAKE_CXX98_COMPILE_FEATURES AND CMAKE_CXX11_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CXX11_COMPILE_FEATURES ${CMAKE_CXX98_COMPILE_FEATURES}) - endif() - - if(NOT CMAKE_CXX_COMPILE_FEATURES) - set(CMAKE_CXX_COMPILE_FEATURES - ${CMAKE_CXX98_COMPILE_FEATURES} - ${CMAKE_CXX11_COMPILE_FEATURES} - ${CMAKE_CXX14_COMPILE_FEATURES} - ${CMAKE_CXX17_COMPILE_FEATURES} - ${CMAKE_CXX20_COMPILE_FEATURES} - ${CMAKE_CXX23_COMPILE_FEATURES} - ${CMAKE_CXX26_COMPILE_FEATURES} - ) - endif() - - set(CMAKE_CXX_COMPILE_FEATURES ${CMAKE_CXX_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CXX98_COMPILE_FEATURES ${CMAKE_CXX98_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CXX11_COMPILE_FEATURES ${CMAKE_CXX11_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CXX14_COMPILE_FEATURES ${CMAKE_CXX14_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CXX17_COMPILE_FEATURES ${CMAKE_CXX17_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CXX20_COMPILE_FEATURES ${CMAKE_CXX20_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CXX23_COMPILE_FEATURES ${CMAKE_CXX23_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CXX26_COMPILE_FEATURES ${CMAKE_CXX26_COMPILE_FEATURES} PARENT_SCOPE) - - message(CHECK_PASS "done") - - elseif("x${lang}" STREQUAL "xCUDA" AND COMMAND cmake_record_cuda_compile_features) - message(CHECK_START "Detecting ${lang} compile features") - - set(CMAKE_CUDA03_COMPILE_FEATURES) - set(CMAKE_CUDA11_COMPILE_FEATURES) - set(CMAKE_CUDA14_COMPILE_FEATURES) - set(CMAKE_CUDA17_COMPILE_FEATURES) - set(CMAKE_CUDA20_COMPILE_FEATURES) - set(CMAKE_CUDA23_COMPILE_FEATURES) - set(CMAKE_CUDA26_COMPILE_FEATURES) - - include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake") - - cmake_record_cuda_compile_features() - - if(NOT _result EQUAL 0) - message(CHECK_FAIL "failed") - return() - endif() - - if (CMAKE_CUDA23_COMPILE_FEATURES AND CMAKE_CUDA26_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CUDA26_COMPILE_FEATURES ${CMAKE_CUDA23_COMPILE_FEATURES}) - endif() - if (CMAKE_CUDA20_COMPILE_FEATURES AND CMAKE_CUDA23_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CUDA23_COMPILE_FEATURES ${CMAKE_CUDA20_COMPILE_FEATURES}) - endif() - if (CMAKE_CUDA17_COMPILE_FEATURES AND CMAKE_CUDA20_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CUDA20_COMPILE_FEATURES ${CMAKE_CUDA17_COMPILE_FEATURES}) - endif() - if (CMAKE_CUDA14_COMPILE_FEATURES AND CMAKE_CUDA17_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CUDA17_COMPILE_FEATURES ${CMAKE_CUDA14_COMPILE_FEATURES}) - endif() - if (CMAKE_CUDA11_COMPILE_FEATURES AND CMAKE_CUDA14_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CUDA14_COMPILE_FEATURES ${CMAKE_CUDA11_COMPILE_FEATURES}) - endif() - if (CMAKE_CUDA03_COMPILE_FEATURES AND CMAKE_CUDA11_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_CUDA11_COMPILE_FEATURES ${CMAKE_CUDA03_COMPILE_FEATURES}) - endif() - - if(NOT CMAKE_CUDA_COMPILE_FEATURES) - set(CMAKE_CUDA_COMPILE_FEATURES - ${CMAKE_CUDA03_COMPILE_FEATURES} - ${CMAKE_CUDA11_COMPILE_FEATURES} - ${CMAKE_CUDA14_COMPILE_FEATURES} - ${CMAKE_CUDA17_COMPILE_FEATURES} - ${CMAKE_CUDA20_COMPILE_FEATURES} - ${CMAKE_CUDA23_COMPILE_FEATURES} - ${CMAKE_CUDA26_COMPILE_FEATURES} - ) - endif() - - set(CMAKE_CUDA_COMPILE_FEATURES ${CMAKE_CUDA_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CUDA03_COMPILE_FEATURES ${CMAKE_CUDA03_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CUDA11_COMPILE_FEATURES ${CMAKE_CUDA11_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CUDA14_COMPILE_FEATURES ${CMAKE_CUDA14_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CUDA17_COMPILE_FEATURES ${CMAKE_CUDA17_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CUDA20_COMPILE_FEATURES ${CMAKE_CUDA20_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CUDA23_COMPILE_FEATURES ${CMAKE_CUDA23_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_CUDA26_COMPILE_FEATURES ${CMAKE_CUDA26_COMPILE_FEATURES} PARENT_SCOPE) - - message(CHECK_PASS "done") - - elseif(lang STREQUAL HIP AND COMMAND cmake_record_hip_compile_features) - message(CHECK_START "Detecting ${lang} compile features") - - set(CMAKE_HIP98_COMPILE_FEATURES) - set(CMAKE_HIP11_COMPILE_FEATURES) - set(CMAKE_HIP14_COMPILE_FEATURES) - set(CMAKE_HIP17_COMPILE_FEATURES) - set(CMAKE_HIP20_COMPILE_FEATURES) - set(CMAKE_HIP23_COMPILE_FEATURES) - set(CMAKE_HIP26_COMPILE_FEATURES) - - - include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake") - - cmake_record_hip_compile_features() - - if(NOT _result EQUAL 0) - message(CHECK_FAIL "failed") - return() - endif() - - if (CMAKE_HIP23_COMPILE_FEATURES AND CMAKE_HIP26_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_HIP26_COMPILE_FEATURES ${CMAKE_HIP23_COMPILE_FEATURES}) - endif() - if (CMAKE_HIP20_COMPILE_FEATURES AND CMAKE_HIP23_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_HIP23_COMPILE_FEATURES ${CMAKE_HIP20_COMPILE_FEATURES}) - endif() - if (CMAKE_HIP17_COMPILE_FEATURES AND CMAKE_HIP20_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_HIP20_COMPILE_FEATURES ${CMAKE_HIP17_COMPILE_FEATURES}) - endif() - if (CMAKE_HIP14_COMPILE_FEATURES AND CMAKE_HIP17_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_HIP17_COMPILE_FEATURES ${CMAKE_HIP14_COMPILE_FEATURES}) - endif() - if (CMAKE_HIP11_COMPILE_FEATURES AND CMAKE_HIP14_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_HIP14_COMPILE_FEATURES ${CMAKE_HIP11_COMPILE_FEATURES}) - endif() - if (CMAKE_HIP98_COMPILE_FEATURES AND CMAKE_HIP11_COMPILE_FEATURES) - list(REMOVE_ITEM CMAKE_HIP11_COMPILE_FEATURES ${CMAKE_HIP98_COMPILE_FEATURES}) - endif() - - if(NOT CMAKE_HIP_COMPILE_FEATURES) - set(CMAKE_HIP_COMPILE_FEATURES - ${CMAKE_HIP98_COMPILE_FEATURES} - ${CMAKE_HIP11_COMPILE_FEATURES} - ${CMAKE_HIP14_COMPILE_FEATURES} - ${CMAKE_HIP17_COMPILE_FEATURES} - ${CMAKE_HIP20_COMPILE_FEATURES} - ${CMAKE_HIP23_COMPILE_FEATURES} - ${CMAKE_HIP26_COMPILE_FEATURES} - ) - endif() - - set(CMAKE_HIP_COMPILE_FEATURES ${CMAKE_HIP_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_HIP98_COMPILE_FEATURES ${CMAKE_HIP98_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_HIP11_COMPILE_FEATURES ${CMAKE_HIP11_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_HIP14_COMPILE_FEATURES ${CMAKE_HIP14_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_HIP17_COMPILE_FEATURES ${CMAKE_HIP17_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_HIP20_COMPILE_FEATURES ${CMAKE_HIP20_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_HIP23_COMPILE_FEATURES ${CMAKE_HIP23_COMPILE_FEATURES} PARENT_SCOPE) - set(CMAKE_HIP26_COMPILE_FEATURES ${CMAKE_HIP26_COMPILE_FEATURES} PARENT_SCOPE) - - message(CHECK_PASS "done") - - endif() - -endfunction() diff --git a/Modules/CMakeDetermineCompilerSupport.cmake b/Modules/CMakeDetermineCompilerSupport.cmake new file mode 100644 index 0000000..746f04e --- /dev/null +++ b/Modules/CMakeDetermineCompilerSupport.cmake @@ -0,0 +1,246 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + + +function(cmake_determine_compiler_support lang) + + if("x${lang}" STREQUAL "xC" AND COMMAND cmake_record_c_compile_features) + message(CHECK_START "Detecting ${lang} compile features") + + set(CMAKE_C90_COMPILE_FEATURES) + set(CMAKE_C99_COMPILE_FEATURES) + set(CMAKE_C11_COMPILE_FEATURES) + set(CMAKE_C17_COMPILE_FEATURES) + set(CMAKE_C23_COMPILE_FEATURES) + + include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake") + + cmake_record_c_compile_features() + + if(NOT _result EQUAL 0) + message(CHECK_FAIL "failed") + return() + endif() + + if (CMAKE_C17_COMPILE_FEATURES AND CMAKE_C23_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_C23_COMPILE_FEATURES ${CMAKE_C17_COMPILE_FEATURES}) + endif() + if (CMAKE_C11_COMPILE_FEATURES AND CMAKE_C17_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_C17_COMPILE_FEATURES ${CMAKE_C11_COMPILE_FEATURES}) + endif() + if (CMAKE_C99_COMPILE_FEATURES AND CMAKE_C11_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_C11_COMPILE_FEATURES ${CMAKE_C99_COMPILE_FEATURES}) + endif() + if (CMAKE_C90_COMPILE_FEATURES AND CMAKE_C99_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_C99_COMPILE_FEATURES ${CMAKE_C90_COMPILE_FEATURES}) + endif() + + if(NOT CMAKE_C_COMPILE_FEATURES) + set(CMAKE_C_COMPILE_FEATURES + ${CMAKE_C90_COMPILE_FEATURES} + ${CMAKE_C99_COMPILE_FEATURES} + ${CMAKE_C11_COMPILE_FEATURES} + ${CMAKE_C17_COMPILE_FEATURES} + ${CMAKE_C23_COMPILE_FEATURES} + ) + endif() + + set(CMAKE_C_COMPILE_FEATURES ${CMAKE_C_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_C90_COMPILE_FEATURES ${CMAKE_C90_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_C99_COMPILE_FEATURES ${CMAKE_C99_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_C11_COMPILE_FEATURES ${CMAKE_C11_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_C17_COMPILE_FEATURES ${CMAKE_C17_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_C23_COMPILE_FEATURES ${CMAKE_C23_COMPILE_FEATURES} PARENT_SCOPE) + + message(CHECK_PASS "done") + + elseif("x${lang}" STREQUAL "xCXX" AND COMMAND cmake_record_cxx_compile_features) + message(CHECK_START "Detecting ${lang} compile features") + + set(CMAKE_CXX98_COMPILE_FEATURES) + set(CMAKE_CXX11_COMPILE_FEATURES) + set(CMAKE_CXX14_COMPILE_FEATURES) + set(CMAKE_CXX17_COMPILE_FEATURES) + set(CMAKE_CXX20_COMPILE_FEATURES) + set(CMAKE_CXX23_COMPILE_FEATURES) + set(CMAKE_CXX26_COMPILE_FEATURES) + + include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake") + + cmake_record_cxx_compile_features() + + if(NOT _result EQUAL 0) + message(CHECK_FAIL "failed") + return() + endif() + + if (CMAKE_CXX23_COMPILE_FEATURES AND CMAKE_CXX26_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CXX26_COMPILE_FEATURES ${CMAKE_CXX23_COMPILE_FEATURES}) + endif() + if (CMAKE_CXX20_COMPILE_FEATURES AND CMAKE_CXX23_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CXX23_COMPILE_FEATURES ${CMAKE_CXX20_COMPILE_FEATURES}) + endif() + if (CMAKE_CXX17_COMPILE_FEATURES AND CMAKE_CXX20_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CXX20_COMPILE_FEATURES ${CMAKE_CXX17_COMPILE_FEATURES}) + endif() + if (CMAKE_CXX14_COMPILE_FEATURES AND CMAKE_CXX17_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CXX17_COMPILE_FEATURES ${CMAKE_CXX14_COMPILE_FEATURES}) + endif() + if (CMAKE_CXX11_COMPILE_FEATURES AND CMAKE_CXX14_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CXX14_COMPILE_FEATURES ${CMAKE_CXX11_COMPILE_FEATURES}) + endif() + if (CMAKE_CXX98_COMPILE_FEATURES AND CMAKE_CXX11_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CXX11_COMPILE_FEATURES ${CMAKE_CXX98_COMPILE_FEATURES}) + endif() + + if(NOT CMAKE_CXX_COMPILE_FEATURES) + set(CMAKE_CXX_COMPILE_FEATURES + ${CMAKE_CXX98_COMPILE_FEATURES} + ${CMAKE_CXX11_COMPILE_FEATURES} + ${CMAKE_CXX14_COMPILE_FEATURES} + ${CMAKE_CXX17_COMPILE_FEATURES} + ${CMAKE_CXX20_COMPILE_FEATURES} + ${CMAKE_CXX23_COMPILE_FEATURES} + ${CMAKE_CXX26_COMPILE_FEATURES} + ) + endif() + + set(CMAKE_CXX_COMPILE_FEATURES ${CMAKE_CXX_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CXX98_COMPILE_FEATURES ${CMAKE_CXX98_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CXX11_COMPILE_FEATURES ${CMAKE_CXX11_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CXX14_COMPILE_FEATURES ${CMAKE_CXX14_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CXX17_COMPILE_FEATURES ${CMAKE_CXX17_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CXX20_COMPILE_FEATURES ${CMAKE_CXX20_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CXX23_COMPILE_FEATURES ${CMAKE_CXX23_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CXX26_COMPILE_FEATURES ${CMAKE_CXX26_COMPILE_FEATURES} PARENT_SCOPE) + + message(CHECK_PASS "done") + + elseif("x${lang}" STREQUAL "xCUDA" AND COMMAND cmake_record_cuda_compile_features) + message(CHECK_START "Detecting ${lang} compile features") + + set(CMAKE_CUDA03_COMPILE_FEATURES) + set(CMAKE_CUDA11_COMPILE_FEATURES) + set(CMAKE_CUDA14_COMPILE_FEATURES) + set(CMAKE_CUDA17_COMPILE_FEATURES) + set(CMAKE_CUDA20_COMPILE_FEATURES) + set(CMAKE_CUDA23_COMPILE_FEATURES) + set(CMAKE_CUDA26_COMPILE_FEATURES) + + include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake") + + cmake_record_cuda_compile_features() + + if(NOT _result EQUAL 0) + message(CHECK_FAIL "failed") + return() + endif() + + if (CMAKE_CUDA23_COMPILE_FEATURES AND CMAKE_CUDA26_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CUDA26_COMPILE_FEATURES ${CMAKE_CUDA23_COMPILE_FEATURES}) + endif() + if (CMAKE_CUDA20_COMPILE_FEATURES AND CMAKE_CUDA23_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CUDA23_COMPILE_FEATURES ${CMAKE_CUDA20_COMPILE_FEATURES}) + endif() + if (CMAKE_CUDA17_COMPILE_FEATURES AND CMAKE_CUDA20_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CUDA20_COMPILE_FEATURES ${CMAKE_CUDA17_COMPILE_FEATURES}) + endif() + if (CMAKE_CUDA14_COMPILE_FEATURES AND CMAKE_CUDA17_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CUDA17_COMPILE_FEATURES ${CMAKE_CUDA14_COMPILE_FEATURES}) + endif() + if (CMAKE_CUDA11_COMPILE_FEATURES AND CMAKE_CUDA14_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CUDA14_COMPILE_FEATURES ${CMAKE_CUDA11_COMPILE_FEATURES}) + endif() + if (CMAKE_CUDA03_COMPILE_FEATURES AND CMAKE_CUDA11_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_CUDA11_COMPILE_FEATURES ${CMAKE_CUDA03_COMPILE_FEATURES}) + endif() + + if(NOT CMAKE_CUDA_COMPILE_FEATURES) + set(CMAKE_CUDA_COMPILE_FEATURES + ${CMAKE_CUDA03_COMPILE_FEATURES} + ${CMAKE_CUDA11_COMPILE_FEATURES} + ${CMAKE_CUDA14_COMPILE_FEATURES} + ${CMAKE_CUDA17_COMPILE_FEATURES} + ${CMAKE_CUDA20_COMPILE_FEATURES} + ${CMAKE_CUDA23_COMPILE_FEATURES} + ${CMAKE_CUDA26_COMPILE_FEATURES} + ) + endif() + + set(CMAKE_CUDA_COMPILE_FEATURES ${CMAKE_CUDA_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CUDA03_COMPILE_FEATURES ${CMAKE_CUDA03_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CUDA11_COMPILE_FEATURES ${CMAKE_CUDA11_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CUDA14_COMPILE_FEATURES ${CMAKE_CUDA14_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CUDA17_COMPILE_FEATURES ${CMAKE_CUDA17_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CUDA20_COMPILE_FEATURES ${CMAKE_CUDA20_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CUDA23_COMPILE_FEATURES ${CMAKE_CUDA23_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_CUDA26_COMPILE_FEATURES ${CMAKE_CUDA26_COMPILE_FEATURES} PARENT_SCOPE) + + message(CHECK_PASS "done") + + elseif(lang STREQUAL HIP AND COMMAND cmake_record_hip_compile_features) + message(CHECK_START "Detecting ${lang} compile features") + + set(CMAKE_HIP98_COMPILE_FEATURES) + set(CMAKE_HIP11_COMPILE_FEATURES) + set(CMAKE_HIP14_COMPILE_FEATURES) + set(CMAKE_HIP17_COMPILE_FEATURES) + set(CMAKE_HIP20_COMPILE_FEATURES) + set(CMAKE_HIP23_COMPILE_FEATURES) + set(CMAKE_HIP26_COMPILE_FEATURES) + + + include("${CMAKE_ROOT}/Modules/Internal/FeatureTesting.cmake") + + cmake_record_hip_compile_features() + + if(NOT _result EQUAL 0) + message(CHECK_FAIL "failed") + return() + endif() + + if (CMAKE_HIP23_COMPILE_FEATURES AND CMAKE_HIP26_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_HIP26_COMPILE_FEATURES ${CMAKE_HIP23_COMPILE_FEATURES}) + endif() + if (CMAKE_HIP20_COMPILE_FEATURES AND CMAKE_HIP23_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_HIP23_COMPILE_FEATURES ${CMAKE_HIP20_COMPILE_FEATURES}) + endif() + if (CMAKE_HIP17_COMPILE_FEATURES AND CMAKE_HIP20_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_HIP20_COMPILE_FEATURES ${CMAKE_HIP17_COMPILE_FEATURES}) + endif() + if (CMAKE_HIP14_COMPILE_FEATURES AND CMAKE_HIP17_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_HIP17_COMPILE_FEATURES ${CMAKE_HIP14_COMPILE_FEATURES}) + endif() + if (CMAKE_HIP11_COMPILE_FEATURES AND CMAKE_HIP14_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_HIP14_COMPILE_FEATURES ${CMAKE_HIP11_COMPILE_FEATURES}) + endif() + if (CMAKE_HIP98_COMPILE_FEATURES AND CMAKE_HIP11_COMPILE_FEATURES) + list(REMOVE_ITEM CMAKE_HIP11_COMPILE_FEATURES ${CMAKE_HIP98_COMPILE_FEATURES}) + endif() + + if(NOT CMAKE_HIP_COMPILE_FEATURES) + set(CMAKE_HIP_COMPILE_FEATURES + ${CMAKE_HIP98_COMPILE_FEATURES} + ${CMAKE_HIP11_COMPILE_FEATURES} + ${CMAKE_HIP14_COMPILE_FEATURES} + ${CMAKE_HIP17_COMPILE_FEATURES} + ${CMAKE_HIP20_COMPILE_FEATURES} + ${CMAKE_HIP23_COMPILE_FEATURES} + ${CMAKE_HIP26_COMPILE_FEATURES} + ) + endif() + + set(CMAKE_HIP_COMPILE_FEATURES ${CMAKE_HIP_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_HIP98_COMPILE_FEATURES ${CMAKE_HIP98_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_HIP11_COMPILE_FEATURES ${CMAKE_HIP11_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_HIP14_COMPILE_FEATURES ${CMAKE_HIP14_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_HIP17_COMPILE_FEATURES ${CMAKE_HIP17_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_HIP20_COMPILE_FEATURES ${CMAKE_HIP20_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_HIP23_COMPILE_FEATURES ${CMAKE_HIP23_COMPILE_FEATURES} PARENT_SCOPE) + set(CMAKE_HIP26_COMPILE_FEATURES ${CMAKE_HIP26_COMPILE_FEATURES} PARENT_SCOPE) + + message(CHECK_PASS "done") + + endif() + +endfunction() diff --git a/Modules/CMakeTestCCompiler.cmake b/Modules/CMakeTestCCompiler.cmake index 58726db..8ebe570 100644 --- a/Modules/CMakeTestCCompiler.cmake +++ b/Modules/CMakeTestCCompiler.cmake @@ -73,8 +73,8 @@ if(NOT CMAKE_C_COMPILER_WORKS) endif() # Try to identify the compiler features -include(${CMAKE_ROOT}/Modules/CMakeDetermineCompileFeatures.cmake) -CMAKE_DETERMINE_COMPILE_FEATURES(C) +include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerSupport.cmake) +CMAKE_DETERMINE_COMPILER_SUPPORT(C) # Re-configure to save learned information. configure_file( diff --git a/Modules/CMakeTestCUDACompiler.cmake b/Modules/CMakeTestCUDACompiler.cmake index 3057fe9..ef97f55 100644 --- a/Modules/CMakeTestCUDACompiler.cmake +++ b/Modules/CMakeTestCUDACompiler.cmake @@ -65,8 +65,8 @@ if(NOT CMAKE_CUDA_COMPILER_WORKS) endif() # Try to identify the compiler features -include(${CMAKE_ROOT}/Modules/CMakeDetermineCompileFeatures.cmake) -CMAKE_DETERMINE_COMPILE_FEATURES(CUDA) +include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerSupport.cmake) +CMAKE_DETERMINE_COMPILER_SUPPORT(CUDA) if("x${CMAKE_CUDA_SIMULATE_ID}" STREQUAL "xMSVC") set(CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES "${CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES}") diff --git a/Modules/CMakeTestCXXCompiler.cmake b/Modules/CMakeTestCXXCompiler.cmake index e640ff9..c82a154 100644 --- a/Modules/CMakeTestCXXCompiler.cmake +++ b/Modules/CMakeTestCXXCompiler.cmake @@ -66,8 +66,8 @@ if(NOT CMAKE_CXX_COMPILER_WORKS) endif() # Try to identify the compiler features -include(${CMAKE_ROOT}/Modules/CMakeDetermineCompileFeatures.cmake) -CMAKE_DETERMINE_COMPILE_FEATURES(CXX) +include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerSupport.cmake) +CMAKE_DETERMINE_COMPILER_SUPPORT(CXX) # Re-configure to save learned information. configure_file( diff --git a/Modules/CMakeTestHIPCompiler.cmake b/Modules/CMakeTestHIPCompiler.cmake index ec54d80..5b49c0d 100644 --- a/Modules/CMakeTestHIPCompiler.cmake +++ b/Modules/CMakeTestHIPCompiler.cmake @@ -83,8 +83,8 @@ unset(__CMAKE_HIP_FLAGS) # Try to identify the compiler features -include(${CMAKE_ROOT}/Modules/CMakeDetermineCompileFeatures.cmake) -CMAKE_DETERMINE_COMPILE_FEATURES(HIP) +include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerSupport.cmake) +CMAKE_DETERMINE_COMPILER_SUPPORT(HIP) if(CMAKE_HIP_COMPILER_ID STREQUAL "NVIDIA") include(Internal/CMakeNVCCFilterImplicitInfo) diff --git a/Modules/CMakeTestOBJCCompiler.cmake b/Modules/CMakeTestOBJCCompiler.cmake index a36180b..bcb3e1e 100644 --- a/Modules/CMakeTestOBJCCompiler.cmake +++ b/Modules/CMakeTestOBJCCompiler.cmake @@ -70,8 +70,8 @@ if(NOT CMAKE_OBJC_COMPILER_WORKS) endif() # Try to identify the compiler features -include(${CMAKE_ROOT}/Modules/CMakeDetermineCompileFeatures.cmake) -CMAKE_DETERMINE_COMPILE_FEATURES(OBJC) +include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerSupport.cmake) +CMAKE_DETERMINE_COMPILER_SUPPORT(OBJC) # Re-configure to save learned information. configure_file( diff --git a/Modules/CMakeTestOBJCXXCompiler.cmake b/Modules/CMakeTestOBJCXXCompiler.cmake index f7935c7..68b3871 100644 --- a/Modules/CMakeTestOBJCXXCompiler.cmake +++ b/Modules/CMakeTestOBJCXXCompiler.cmake @@ -69,8 +69,8 @@ if(NOT CMAKE_OBJCXX_COMPILER_WORKS) endif() # Try to identify the compiler features -include(${CMAKE_ROOT}/Modules/CMakeDetermineCompileFeatures.cmake) -CMAKE_DETERMINE_COMPILE_FEATURES(OBJCXX) +include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerSupport.cmake) +CMAKE_DETERMINE_COMPILER_SUPPORT(OBJCXX) # Re-configure to save learned information. configure_file( -- cgit v0.12