Ver Fonte

Tests: Migrate compiler id tests to RunCMake infrastructure

Brad King há 1 ano atrás
pai
commit
38cacd83a5

+ 0 - 18
Tests/CMakeOnly/CMakeLists.txt

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

+ 0 - 21
Tests/CMakeOnly/CompilerIdC/CMakeLists.txt

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

+ 0 - 21
Tests/CMakeOnly/CompilerIdCSharp/CMakeLists.txt

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

+ 0 - 14
Tests/CMakeOnly/CompilerIdCUDA/CMakeLists.txt

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

+ 0 - 21
Tests/CMakeOnly/CompilerIdCXX/CMakeLists.txt

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

+ 0 - 21
Tests/CMakeOnly/CompilerIdFortran/CMakeLists.txt

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

+ 0 - 14
Tests/CMakeOnly/CompilerIdOBJC/CMakeLists.txt

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

+ 0 - 14
Tests/CMakeOnly/CompilerIdOBJCXX/CMakeLists.txt

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

+ 2 - 0
Tests/RunCMake/CMakeLists.txt

@@ -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 - 0
Tests/RunCMake/CompilerId/C-stdout.txt

@@ -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 - 0
Tests/RunCMake/CompilerId/C.cmake

@@ -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 - 0
Tests/RunCMake/CompilerId/CMakeLists.txt

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

+ 3 - 0
Tests/RunCMake/CompilerId/CSharp-stdout.txt

@@ -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 - 0
Tests/RunCMake/CompilerId/CSharp.cmake

@@ -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 - 0
Tests/RunCMake/CompilerId/CUDA-stdout.txt

@@ -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 - 0
Tests/RunCMake/CompilerId/CUDA.cmake

@@ -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 - 0
Tests/RunCMake/CompilerId/CXX-stdout.txt

@@ -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 - 0
Tests/RunCMake/CompilerId/CXX.cmake

@@ -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 - 0
Tests/RunCMake/CompilerId/Fortran-stdout.txt

@@ -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 - 0
Tests/RunCMake/CompilerId/Fortran.cmake

@@ -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 - 0
Tests/RunCMake/CompilerId/HIP-stdout.txt

@@ -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 - 0
Tests/RunCMake/CompilerId/HIP.cmake

@@ -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 - 0
Tests/RunCMake/CompilerId/ISPC-stdout.txt

@@ -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 - 0
Tests/RunCMake/CompilerId/ISPC.cmake

@@ -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 - 0
Tests/RunCMake/CompilerId/OBJC-stdout.txt

@@ -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 - 0
Tests/RunCMake/CompilerId/OBJC.cmake

@@ -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 - 0
Tests/RunCMake/CompilerId/OBJCXX-stdout.txt

@@ -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 - 0
Tests/RunCMake/CompilerId/OBJCXX.cmake

@@ -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 - 0
Tests/RunCMake/CompilerId/RunCMakeTest.cmake

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