浏览代码

Avoid clobbering variable 'OUTPUT' in compiler tests (#12628)

Use an obscure name and clean up afterwards.
Brad King 14 年之前
父节点
当前提交
5f6985ac86
共有 2 个文件被更改,包括 11 次插入8 次删除
  1. 5 4
      Modules/CMakeTestCCompiler.cmake
  2. 6 4
      Modules/CMakeTestCXXCompiler.cmake

+ 5 - 4
Modules/CMakeTestCCompiler.cmake

@@ -35,7 +35,7 @@ IF(NOT CMAKE_C_COMPILER_WORKS)
     "{ (void)argv; return argc-1;}\n")
   TRY_COMPILE(CMAKE_C_COMPILER_WORKS ${CMAKE_BINARY_DIR} 
     ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c
-    OUTPUT_VARIABLE OUTPUT) 
+    OUTPUT_VARIABLE __CMAKE_C_COMPILER_OUTPUT)
   SET(C_TEST_WAS_RUN 1)
 ENDIF(NOT CMAKE_C_COMPILER_WORKS)
 
@@ -43,7 +43,7 @@ IF(NOT CMAKE_C_COMPILER_WORKS)
   PrintTestCompilerStatus("C" " -- broken")
   FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the C compiler works failed with "
-    "the following output:\n${OUTPUT}\n\n")
+    "the following output:\n${__CMAKE_C_COMPILER_OUTPUT}\n\n")
   # if the compiler is broken make sure to remove the platform file
   # since Windows-cl configures both c/cxx files both need to be removed
   # when c or c++ fails
@@ -51,14 +51,14 @@ IF(NOT CMAKE_C_COMPILER_WORKS)
   FILE(REMOVE ${CMAKE_PLATFORM_ROOT_BIN}/CMakeCXXPlatform.cmake )
   MESSAGE(FATAL_ERROR "The C compiler \"${CMAKE_C_COMPILER}\" "
     "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${OUTPUT}\n\n"
+    "with the following output:\n ${__CMAKE_C_COMPILER_OUTPUT}\n\n"
     "CMake will not be able to correctly generate this project.")
 ELSE(NOT CMAKE_C_COMPILER_WORKS)
   IF(C_TEST_WAS_RUN)
     PrintTestCompilerStatus("C" " -- works")
     FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the C compiler works passed with "
-      "the following output:\n${OUTPUT}\n\n") 
+      "the following output:\n${__CMAKE_C_COMPILER_OUTPUT}\n\n")
   ENDIF(C_TEST_WAS_RUN)
   SET(CMAKE_C_COMPILER_WORKS 1 CACHE INTERNAL "")
 
@@ -84,3 +84,4 @@ ELSE(NOT CMAKE_C_COMPILER_WORKS)
   ENDIF()
 ENDIF(NOT CMAKE_C_COMPILER_WORKS)
 
+UNSET(__CMAKE_C_COMPILER_OUTPUT)

+ 6 - 4
Modules/CMakeTestCXXCompiler.cmake

@@ -28,7 +28,7 @@ IF(NOT CMAKE_CXX_COMPILER_WORKS)
     "int main(){return 0;}\n")
   TRY_COMPILE(CMAKE_CXX_COMPILER_WORKS ${CMAKE_BINARY_DIR} 
     ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCXXCompiler.cxx
-    OUTPUT_VARIABLE OUTPUT)
+    OUTPUT_VARIABLE __CMAKE_CXX_COMPILER_OUTPUT)
   SET(CXX_TEST_WAS_RUN 1)
 ENDIF(NOT CMAKE_CXX_COMPILER_WORKS)
 
@@ -41,17 +41,17 @@ IF(NOT CMAKE_CXX_COMPILER_WORKS)
   FILE(REMOVE ${CMAKE_PLATFORM_ROOT_BIN}/CMakeCXXPlatform.cmake )
   FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the CXX compiler works failed with "
-    "the following output:\n${OUTPUT}\n\n")
+    "the following output:\n${__CMAKE_CXX_COMPILER_OUTPUT}\n\n")
   MESSAGE(FATAL_ERROR "The C++ compiler \"${CMAKE_CXX_COMPILER}\" "
     "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${OUTPUT}\n\n"
+    "with the following output:\n ${__CMAKE_CXX_COMPILER_OUTPUT}\n\n"
     "CMake will not be able to correctly generate this project.")
 ELSE(NOT CMAKE_CXX_COMPILER_WORKS)
   IF(CXX_TEST_WAS_RUN)
     PrintTestCompilerStatus("CXX" " -- works")
     FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
       "Determining if the CXX compiler works passed with "
-      "the following output:\n${OUTPUT}\n\n")
+      "the following output:\n${__CMAKE_CXX_COMPILER_OUTPUT}\n\n")
   ENDIF(CXX_TEST_WAS_RUN)
   SET(CMAKE_CXX_COMPILER_WORKS 1 CACHE INTERNAL "")
 
@@ -76,3 +76,5 @@ ELSE(NOT CMAKE_CXX_COMPILER_WORKS)
     UNSET(CMAKE_CXX_ABI_FILES)
   ENDIF()
 ENDIF(NOT CMAKE_CXX_COMPILER_WORKS)
+
+UNSET(__CMAKE_CXX_COMPILER_OUTPUT)