Tests: Migrate compiler id tests to RunCMake infrastructure

This commit is contained in:
Brad King
2024-09-20 11:13:01 -04:00
parent 37173f1ccc
commit 38cacd83a5
29 changed files with 97 additions and 144 deletions

View File

@@ -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}

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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})

View 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]+))?'

View 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}'")

View File

@@ -0,0 +1,3 @@
cmake_minimum_required(VERSION 3.30)
project(${RunCMake_TEST} NONE)
include(${RunCMake_TEST}.cmake)

View 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]+))?'

View 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}'")

View 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]+))?'

View 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}'")

View 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]+))?'

View 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}'")

View 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]+))?'

View 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}'")

View 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]+))?'

View 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}'")

View 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]+))?'

View 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}'")

View 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]+))?'

View 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}'")

View 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]+))?'

View 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}'")

View 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()