Browse Source

CMP0128: Avoid test code duplication

Raul Tambre 3 years ago
parent
commit
b2c25de8e0

+ 7 - 0
Tests/RunCMake/CompileFeatures/CMP0128Common.cmake

@@ -0,0 +1,7 @@
+enable_language(@lang@)
+
+# Make sure the compile command is not hidden.
+string(REPLACE "${CMAKE_START_TEMP_FILE}" "" CMAKE_@lang@_COMPILE_OBJECT "${CMAKE_@lang@_COMPILE_OBJECT}")
+string(REPLACE "${CMAKE_END_TEMP_FILE}" "" CMAKE_@lang@_COMPILE_OBJECT "${CMAKE_@lang@_COMPILE_OBJECT}")
+
+add_library(foo "@RunCMake_SOURCE_DIR@/empty.@ext@")

+ 0 - 7
Tests/RunCMake/CompileFeatures/CMP0128NewExtensionsStandardDefault.cmake

@@ -1,9 +1,2 @@
-enable_language(@lang@)
-
-# Make sure the compile command is not hidden.
-string(REPLACE "${CMAKE_START_TEMP_FILE}" "" CMAKE_@lang@_COMPILE_OBJECT "${CMAKE_@lang@_COMPILE_OBJECT}")
-string(REPLACE "${CMAKE_END_TEMP_FILE}" "" CMAKE_@lang@_COMPILE_OBJECT "${CMAKE_@lang@_COMPILE_OBJECT}")
-
 set(CMAKE_@lang@_EXTENSIONS @extensions_opposite@)
 set(CMAKE_@lang@_STANDARD @standard_default@)
-add_library(foo "@RunCMake_SOURCE_DIR@/empty.@ext@")

+ 0 - 7
Tests/RunCMake/CompileFeatures/CMP0128NewExtensionsStandardUnset.cmake

@@ -1,8 +1 @@
-enable_language(@lang@)
-
-# Make sure the compile command is not hidden.
-string(REPLACE "${CMAKE_START_TEMP_FILE}" "" CMAKE_@lang@_COMPILE_OBJECT "${CMAKE_@lang@_COMPILE_OBJECT}")
-string(REPLACE "${CMAKE_END_TEMP_FILE}" "" CMAKE_@lang@_COMPILE_OBJECT "${CMAKE_@lang@_COMPILE_OBJECT}")
-
 set(CMAKE_@lang@_EXTENSIONS @extensions_opposite@)
-add_library(foo "@RunCMake_SOURCE_DIR@/empty.@ext@")

+ 0 - 7
Tests/RunCMake/CompileFeatures/CMP0128NewNoUnnecessaryFlag.cmake

@@ -1,9 +1,2 @@
-enable_language(@lang@)
-
-# Make sure the compile command is not hidden.
-string(REPLACE "${CMAKE_START_TEMP_FILE}" "" CMAKE_@lang@_COMPILE_OBJECT "${CMAKE_@lang@_COMPILE_OBJECT}")
-string(REPLACE "${CMAKE_END_TEMP_FILE}" "" CMAKE_@lang@_COMPILE_OBJECT "${CMAKE_@lang@_COMPILE_OBJECT}")
-
 set(CMAKE_@lang@_EXTENSIONS @extensions_default@)
 set(CMAKE_@lang@_STANDARD @standard_default@)
-add_library(foo "@RunCMake_SOURCE_DIR@/empty.@ext@")

+ 0 - 2
Tests/RunCMake/CompileFeatures/CMP0128WarnMatch.cmake

@@ -1,7 +1,5 @@
-enable_language(@lang@)
 cmake_policy(SET CMP0128 OLD)
 set(CMAKE_POLICY_WARNING_CMP0128 ON)
 
 set(CMAKE_@lang@_EXTENSIONS @extensions_default@)
 set(CMAKE_@lang@_STANDARD @standard_default@)
-add_library(foo "@RunCMake_SOURCE_DIR@/empty.@ext@")

+ 0 - 2
Tests/RunCMake/CompileFeatures/CMP0128WarnUnset.cmake

@@ -1,6 +1,4 @@
-enable_language(@lang@)
 cmake_policy(SET CMP0128 OLD)
 set(CMAKE_POLICY_WARNING_CMP0128 ON)
 
 set(CMAKE_@lang@_EXTENSIONS @extensions_opposite@)
-add_library(foo "@RunCMake_SOURCE_DIR@/empty.@ext@")

+ 3 - 1
Tests/RunCMake/CompileFeatures/RunCMakeTest.cmake

@@ -35,11 +35,13 @@ elseif (cxx_std_98 IN_LIST CXX_FEATURES AND cxx_std_11 IN_LIST CXX_FEATURES)
 endif()
 
 configure_file("${RunCMake_SOURCE_DIR}/CMakeLists.txt" "${RunCMake_BINARY_DIR}/CMakeLists.txt" COPYONLY)
+file(READ "${RunCMake_SOURCE_DIR}/CMP0128Common.cmake" cmp0128_common)
 
 function(test_build)
   set(test ${name}-${lang})
 
-  configure_file("${RunCMake_SOURCE_DIR}/${name}.cmake" "${RunCMake_BINARY_DIR}/${test}.cmake" @ONLY)
+  file(READ "${RunCMake_SOURCE_DIR}/${name}.cmake" cmake)
+  file(CONFIGURE OUTPUT "${RunCMake_BINARY_DIR}/${test}.cmake" CONTENT "${cmake}${cmp0128_common}" @ONLY)
   if(EXISTS "${RunCMake_SOURCE_DIR}/${name}-build-check.cmake")
     configure_file("${RunCMake_SOURCE_DIR}/${name}-build-check.cmake" "${RunCMake_BINARY_DIR}/${test}-build-check.cmake" @ONLY)
   endif()