Просмотр исходного кода

Tests: Print more info on CheckIPOSupported test failure

Brad King 8 лет назад
Родитель
Сommit
6756b552ee

+ 3 - 2
Tests/Module/CheckIPOSupported-C/CMakeLists.txt

@@ -4,11 +4,12 @@ project(CheckIPOSupported-C LANGUAGES C)
 cmake_policy(SET CMP0069 NEW)
 
 include(CheckIPOSupported)
-check_ipo_supported(RESULT ipo_supported)
+check_ipo_supported(RESULT ipo_supported OUTPUT ipo_output)
 if(ipo_supported)
   set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
 elseif(CMake_TEST_IPO_WORKS_C)
-  message(FATAL_ERROR "IPO expected to work")
+  string(REPLACE "\n" "\n  " ipo_output "${ipo_output}")
+  message(FATAL_ERROR "IPO expected to work, but the check failed:\n  ${ipo_output}")
 endif()
 
 add_library(foo foo.c)

+ 3 - 2
Tests/Module/CheckIPOSupported-CXX/CMakeLists.txt

@@ -4,11 +4,12 @@ project(CheckIPOSupported-CXX LANGUAGES CXX)
 cmake_policy(SET CMP0069 NEW)
 
 include(CheckIPOSupported)
-check_ipo_supported(RESULT ipo_supported)
+check_ipo_supported(RESULT ipo_supported OUTPUT ipo_output)
 if(ipo_supported)
   set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
 elseif(CMake_TEST_IPO_WORKS_CXX)
-  message(FATAL_ERROR "IPO expected to work")
+  string(REPLACE "\n" "\n  " ipo_output "${ipo_output}")
+  message(FATAL_ERROR "IPO expected to work, but the check failed:\n  ${ipo_output}")
 endif()
 
 add_library(foo foo.cpp)

+ 3 - 2
Tests/Module/CheckIPOSupported-Fortran/CMakeLists.txt

@@ -4,11 +4,12 @@ project(CheckIPOSupported-Fortran LANGUAGES Fortran)
 cmake_policy(SET CMP0069 NEW)
 
 include(CheckIPOSupported)
-check_ipo_supported(RESULT ipo_supported)
+check_ipo_supported(RESULT ipo_supported OUTPUT ipo_output)
 if(ipo_supported)
   set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
 elseif(CMake_TEST_IPO_WORKS_Fortran)
-  message(FATAL_ERROR "IPO expected to work")
+  string(REPLACE "\n" "\n  " ipo_output "${ipo_output}")
+  message(FATAL_ERROR "IPO expected to work, but the check failed:\n  ${ipo_output}")
 endif()
 
 add_library(foo foo.f)