Jelajahi Sumber

BUG#530: Using #error to report a nice error message if the C compiler is set to a C++ compiler.

Brad King 22 tahun lalu
induk
melakukan
802cc38344
1 mengubah file dengan 5 tambahan dan 1 penghapusan
  1. 5 1
      Modules/CMakeTestCCompiler.cmake

+ 5 - 1
Modules/CMakeTestCCompiler.cmake

@@ -5,7 +5,11 @@
 # any makefiles or projects.
 IF(NOT CMAKE_C_COMPILER_WORKS)
   MESSAGE(STATUS "Check for working C compiler: ${CMAKE_C_COMPILER}")
-  FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeTmp/testCCompiler.c "int main(){return 0;}\n")
+  FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeTmp/testCCompiler.c
+    "#ifdef __cplusplus\n"
+    "# error \"The CMAKE_C_COMPILER is set to a C++ compiler\"\n"
+    "#endif\n"
+    "int main(){return 0;}\n")
   TRY_COMPILE(CMAKE_C_COMPILER_WORKS ${CMAKE_BINARY_DIR} 
     ${CMAKE_BINARY_DIR}/CMakeTmp/testCCompiler.c
     OUTPUT_VARIABLE OUTPUT)