mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 16:32:14 -06:00
Tests: Migrate compiler id tests to RunCMake infrastructure
This commit is contained in:
@@ -35,29 +35,11 @@ endif()
|
||||
|
||||
add_CMakeOnly_test(CheckStructHasMember)
|
||||
|
||||
add_CMakeOnly_test(CompilerIdC)
|
||||
add_CMakeOnly_test(CompilerIdCXX)
|
||||
|
||||
if (APPLE AND CMAKE_C_COMPILER_ID MATCHES "Clang|GNU")
|
||||
add_CMakeOnly_test(CompilerIdOBJC)
|
||||
add_CMakeOnly_test(CheckOBJCCompilerFlag)
|
||||
add_CMakeOnly_test(CompilerIdOBJCXX)
|
||||
add_CMakeOnly_test(CheckOBJCXXCompilerFlag)
|
||||
endif()
|
||||
|
||||
if(CMake_TEST_CUDA)
|
||||
add_CMakeOnly_test(CompilerIdCUDA)
|
||||
endif()
|
||||
|
||||
|
||||
if(CMAKE_Fortran_COMPILER)
|
||||
add_CMakeOnly_test(CompilerIdFortran)
|
||||
set_property(TEST CMakeOnly.CompilerIdFortran APPEND PROPERTY LABELS "Fortran")
|
||||
endif()
|
||||
if(CMAKE_GENERATOR MATCHES "Visual Studio")
|
||||
add_CMakeOnly_test(CompilerIdCSharp)
|
||||
endif()
|
||||
|
||||
add_test(CMakeOnly.AllFindModules ${CMAKE_CMAKE_COMMAND}
|
||||
-DTEST=AllFindModules
|
||||
-DCMAKE_ARGS=-DCMake_TEST_CMakeOnly.AllFindModules_NO_VERSION=${CMake_TEST_CMakeOnly.AllFindModules_NO_VERSION}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8.9)
|
||||
project(CompilerIdC C)
|
||||
|
||||
foreach(v
|
||||
CMAKE_C_COMPILER
|
||||
CMAKE_C_COMPILER_ID
|
||||
CMAKE_C_COMPILER_VERSION
|
||||
)
|
||||
if(${v})
|
||||
message(STATUS "${v}=[${${v}}]")
|
||||
else()
|
||||
message(SEND_ERROR "${v} not set!")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Version numbers may only contain numbers and periods.
|
||||
if(NOT CMAKE_C_COMPILER_VERSION MATCHES
|
||||
"^([0-9]+)(\\.([0-9]+))?(\\.([0-9]+))?(\\.([0-9]+))?$"
|
||||
)
|
||||
message(SEND_ERROR "Compiler version is not numeric!")
|
||||
endif()
|
||||
@@ -1,21 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.7.0)
|
||||
project(CompilerIdCSharp CSharp)
|
||||
|
||||
foreach(v
|
||||
CMAKE_CSharp_COMPILER
|
||||
CMAKE_CSharp_COMPILER_ID
|
||||
CMAKE_CSharp_COMPILER_VERSION
|
||||
)
|
||||
if(${v})
|
||||
message(STATUS "${v}=[${${v}}]")
|
||||
else()
|
||||
message(SEND_ERROR "${v} not set!")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Version numbers may only contain numbers and periods.
|
||||
if(NOT CMAKE_CSharp_COMPILER_VERSION MATCHES
|
||||
"^([0-9]+)(\\.([0-9]+))?(\\.([0-9]+))?(\\.([0-9]+))?$"
|
||||
)
|
||||
message(SEND_ERROR "Compiler version is not numeric!")
|
||||
endif()
|
||||
@@ -1,14 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(CompilerIdCUDA CUDA)
|
||||
|
||||
foreach(v
|
||||
CMAKE_CUDA_COMPILER
|
||||
CMAKE_CUDA_COMPILER_ID
|
||||
CMAKE_CUDA_COMPILER_VERSION
|
||||
)
|
||||
if(${v})
|
||||
message(STATUS "${v}=[${${v}}]")
|
||||
else()
|
||||
message(SEND_ERROR "${v} not set!")
|
||||
endif()
|
||||
endforeach()
|
||||
@@ -1,21 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8.9)
|
||||
project(CompilerIdCXX CXX)
|
||||
|
||||
foreach(v
|
||||
CMAKE_CXX_COMPILER
|
||||
CMAKE_CXX_COMPILER_ID
|
||||
CMAKE_CXX_COMPILER_VERSION
|
||||
)
|
||||
if(${v})
|
||||
message(STATUS "${v}=[${${v}}]")
|
||||
else()
|
||||
message(SEND_ERROR "${v} not set!")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Version numbers may only contain numbers and periods.
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION MATCHES
|
||||
"^([0-9]+)(\\.([0-9]+))?(\\.([0-9]+))?(\\.([0-9]+))?$"
|
||||
)
|
||||
message(SEND_ERROR "Compiler version is not numeric!")
|
||||
endif()
|
||||
@@ -1,21 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8.9)
|
||||
project(CompilerIdFortran Fortran)
|
||||
|
||||
foreach(v
|
||||
CMAKE_Fortran_COMPILER
|
||||
CMAKE_Fortran_COMPILER_ID
|
||||
CMAKE_Fortran_COMPILER_VERSION
|
||||
)
|
||||
if(${v})
|
||||
message(STATUS "${v}=[${${v}}]")
|
||||
else()
|
||||
message(SEND_ERROR "${v} not set!")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Version numbers may only contain numbers and periods.
|
||||
if(NOT CMAKE_Fortran_COMPILER_VERSION MATCHES
|
||||
"^([0-9]+)(\\.([0-9]+))?(\\.([0-9]+))?(\\.([0-9]+))?$"
|
||||
)
|
||||
message(SEND_ERROR "Compiler version is not numeric!")
|
||||
endif()
|
||||
@@ -1,14 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
project(CompilerIdOBJC OBJC)
|
||||
|
||||
foreach(v
|
||||
CMAKE_OBJC_COMPILER
|
||||
CMAKE_OBJC_COMPILER_ID
|
||||
CMAKE_OBJC_COMPILER_VERSION
|
||||
)
|
||||
if(${v})
|
||||
message(STATUS "${v}=[${${v}}]")
|
||||
else()
|
||||
message(SEND_ERROR "${v} not set!")
|
||||
endif()
|
||||
endforeach()
|
||||
@@ -1,14 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
project(CompilerIdOBJCXX OBJCXX)
|
||||
|
||||
foreach(v
|
||||
CMAKE_OBJCXX_COMPILER
|
||||
CMAKE_OBJCXX_COMPILER_ID
|
||||
CMAKE_OBJCXX_COMPILER_VERSION
|
||||
)
|
||||
if(${v})
|
||||
message(STATUS "${v}=[${${v}}]")
|
||||
else()
|
||||
message(SEND_ERROR "${v} not set!")
|
||||
endif()
|
||||
endforeach()
|
||||
@@ -389,6 +389,8 @@ foreach(lang IN ITEMS CUDA HIP ISPC)
|
||||
list(APPEND CMake_TEST_LANG_VARS -DCMake_TEST_${lang}=1)
|
||||
endif()
|
||||
endforeach()
|
||||
add_RunCMake_test(CompilerId ${CMake_TEST_LANG_VARS})
|
||||
set_property(TEST RunCMake.CompilerId APPEND PROPERTY LABELS "CUDA" "HIP" "ISPC" "Fortran")
|
||||
add_RunCMake_test(CompilerTest ${CMake_TEST_LANG_VARS})
|
||||
set_property(TEST RunCMake.CompilerTest APPEND PROPERTY LABELS "CUDA" "HIP" "ISPC" "Fortran")
|
||||
add_RunCMake_test(Configure -DMSVC_IDE=${MSVC_IDE})
|
||||
|
||||
3
Tests/RunCMake/CompilerId/C-stdout.txt
Normal file
3
Tests/RunCMake/CompilerId/C-stdout.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
-- CMAKE_C_COMPILER='[^']+'
|
||||
-- CMAKE_C_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_C_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
4
Tests/RunCMake/CompilerId/C.cmake
Normal file
4
Tests/RunCMake/CompilerId/C.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
enable_language(C)
|
||||
message(STATUS "CMAKE_C_COMPILER='${CMAKE_C_COMPILER}'")
|
||||
message(STATUS "CMAKE_C_COMPILER_ID='${CMAKE_C_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_C_COMPILER_VERSION='${CMAKE_C_COMPILER_VERSION}'")
|
||||
3
Tests/RunCMake/CompilerId/CMakeLists.txt
Normal file
3
Tests/RunCMake/CompilerId/CMakeLists.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
cmake_minimum_required(VERSION 3.30)
|
||||
project(${RunCMake_TEST} NONE)
|
||||
include(${RunCMake_TEST}.cmake)
|
||||
3
Tests/RunCMake/CompilerId/CSharp-stdout.txt
Normal file
3
Tests/RunCMake/CompilerId/CSharp-stdout.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
-- CMAKE_CSharp_COMPILER='[^']+'
|
||||
-- CMAKE_CSharp_COMPILER_ID='[A-Za-z ]+'
|
||||
-- CMAKE_CSharp_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
4
Tests/RunCMake/CompilerId/CSharp.cmake
Normal file
4
Tests/RunCMake/CompilerId/CSharp.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
enable_language(CSharp)
|
||||
message(STATUS "CMAKE_CSharp_COMPILER='${CMAKE_CSharp_COMPILER}'")
|
||||
message(STATUS "CMAKE_CSharp_COMPILER_ID='${CMAKE_CSharp_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_CSharp_COMPILER_VERSION='${CMAKE_CSharp_COMPILER_VERSION}'")
|
||||
3
Tests/RunCMake/CompilerId/CUDA-stdout.txt
Normal file
3
Tests/RunCMake/CompilerId/CUDA-stdout.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
-- CMAKE_CUDA_COMPILER='[^']+'
|
||||
-- CMAKE_CUDA_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_CUDA_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
4
Tests/RunCMake/CompilerId/CUDA.cmake
Normal file
4
Tests/RunCMake/CompilerId/CUDA.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
enable_language(CUDA)
|
||||
message(STATUS "CMAKE_CUDA_COMPILER='${CMAKE_CUDA_COMPILER}'")
|
||||
message(STATUS "CMAKE_CUDA_COMPILER_ID='${CMAKE_CUDA_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_CUDA_COMPILER_VERSION='${CMAKE_CUDA_COMPILER_VERSION}'")
|
||||
3
Tests/RunCMake/CompilerId/CXX-stdout.txt
Normal file
3
Tests/RunCMake/CompilerId/CXX-stdout.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
-- CMAKE_CXX_COMPILER='[^']+'
|
||||
-- CMAKE_CXX_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_CXX_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
4
Tests/RunCMake/CompilerId/CXX.cmake
Normal file
4
Tests/RunCMake/CompilerId/CXX.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
enable_language(CXX)
|
||||
message(STATUS "CMAKE_CXX_COMPILER='${CMAKE_CXX_COMPILER}'")
|
||||
message(STATUS "CMAKE_CXX_COMPILER_ID='${CMAKE_CXX_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_CXX_COMPILER_VERSION='${CMAKE_CXX_COMPILER_VERSION}'")
|
||||
3
Tests/RunCMake/CompilerId/Fortran-stdout.txt
Normal file
3
Tests/RunCMake/CompilerId/Fortran-stdout.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
-- CMAKE_Fortran_COMPILER='[^']+'
|
||||
-- CMAKE_Fortran_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_Fortran_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
4
Tests/RunCMake/CompilerId/Fortran.cmake
Normal file
4
Tests/RunCMake/CompilerId/Fortran.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
enable_language(Fortran)
|
||||
message(STATUS "CMAKE_Fortran_COMPILER='${CMAKE_Fortran_COMPILER}'")
|
||||
message(STATUS "CMAKE_Fortran_COMPILER_ID='${CMAKE_Fortran_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_Fortran_COMPILER_VERSION='${CMAKE_Fortran_COMPILER_VERSION}'")
|
||||
3
Tests/RunCMake/CompilerId/HIP-stdout.txt
Normal file
3
Tests/RunCMake/CompilerId/HIP-stdout.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
-- CMAKE_HIP_COMPILER='[^']+'
|
||||
-- CMAKE_HIP_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_HIP_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
4
Tests/RunCMake/CompilerId/HIP.cmake
Normal file
4
Tests/RunCMake/CompilerId/HIP.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
enable_language(HIP)
|
||||
message(STATUS "CMAKE_HIP_COMPILER='${CMAKE_HIP_COMPILER}'")
|
||||
message(STATUS "CMAKE_HIP_COMPILER_ID='${CMAKE_HIP_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_HIP_COMPILER_VERSION='${CMAKE_HIP_COMPILER_VERSION}'")
|
||||
3
Tests/RunCMake/CompilerId/ISPC-stdout.txt
Normal file
3
Tests/RunCMake/CompilerId/ISPC-stdout.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
-- CMAKE_ISPC_COMPILER='[^']+'
|
||||
-- CMAKE_ISPC_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_ISPC_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
4
Tests/RunCMake/CompilerId/ISPC.cmake
Normal file
4
Tests/RunCMake/CompilerId/ISPC.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
enable_language(ISPC)
|
||||
message(STATUS "CMAKE_ISPC_COMPILER='${CMAKE_ISPC_COMPILER}'")
|
||||
message(STATUS "CMAKE_ISPC_COMPILER_ID='${CMAKE_ISPC_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_ISPC_COMPILER_VERSION='${CMAKE_ISPC_COMPILER_VERSION}'")
|
||||
3
Tests/RunCMake/CompilerId/OBJC-stdout.txt
Normal file
3
Tests/RunCMake/CompilerId/OBJC-stdout.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
-- CMAKE_OBJC_COMPILER='[^']+'
|
||||
-- CMAKE_OBJC_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_OBJC_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
4
Tests/RunCMake/CompilerId/OBJC.cmake
Normal file
4
Tests/RunCMake/CompilerId/OBJC.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
enable_language(OBJC)
|
||||
message(STATUS "CMAKE_OBJC_COMPILER='${CMAKE_OBJC_COMPILER}'")
|
||||
message(STATUS "CMAKE_OBJC_COMPILER_ID='${CMAKE_OBJC_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_OBJC_COMPILER_VERSION='${CMAKE_OBJC_COMPILER_VERSION}'")
|
||||
3
Tests/RunCMake/CompilerId/OBJCXX-stdout.txt
Normal file
3
Tests/RunCMake/CompilerId/OBJCXX-stdout.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
-- CMAKE_OBJCXX_COMPILER='[^']+'
|
||||
-- CMAKE_OBJCXX_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_OBJCXX_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
4
Tests/RunCMake/CompilerId/OBJCXX.cmake
Normal file
4
Tests/RunCMake/CompilerId/OBJCXX.cmake
Normal file
@@ -0,0 +1,4 @@
|
||||
enable_language(OBJCXX)
|
||||
message(STATUS "CMAKE_OBJCXX_COMPILER='${CMAKE_OBJCXX_COMPILER}'")
|
||||
message(STATUS "CMAKE_OBJCXX_COMPILER_ID='${CMAKE_OBJCXX_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_OBJCXX_COMPILER_VERSION='${CMAKE_OBJCXX_COMPILER_VERSION}'")
|
||||
29
Tests/RunCMake/CompilerId/RunCMakeTest.cmake
Normal file
29
Tests/RunCMake/CompilerId/RunCMakeTest.cmake
Normal file
@@ -0,0 +1,29 @@
|
||||
include(RunCMake)
|
||||
|
||||
run_cmake(C)
|
||||
run_cmake(CXX)
|
||||
|
||||
if(CMake_TEST_CUDA)
|
||||
run_cmake(CUDA)
|
||||
endif()
|
||||
|
||||
if(CMake_TEST_Fortran)
|
||||
run_cmake(Fortran)
|
||||
endif()
|
||||
|
||||
if(CMake_TEST_HIP)
|
||||
run_cmake(HIP)
|
||||
endif()
|
||||
|
||||
if(CMake_TEST_ISPC)
|
||||
run_cmake(ISPC)
|
||||
endif()
|
||||
|
||||
if(CMake_TEST_OBJC)
|
||||
run_cmake(OBJC)
|
||||
run_cmake(OBJCXX)
|
||||
endif()
|
||||
|
||||
if(RunCMake_GENERATOR MATCHES "Visual Studio")
|
||||
run_cmake(CSharp)
|
||||
endif()
|
||||
Reference in New Issue
Block a user