[cmake-commits] andy committed CheckCSourceCompiles.cmake 1.15 1.16

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Apr 4 15:57:45 EDT 2007


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv28097

Modified Files:
	CheckCSourceCompiles.cmake 
Log Message:
BUG: Revert back to 1.4


Index: CheckCSourceCompiles.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CheckCSourceCompiles.cmake,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- CheckCSourceCompiles.cmake	4 Apr 2007 17:06:13 -0000	1.15
+++ CheckCSourceCompiles.cmake	4 Apr 2007 19:57:43 -0000	1.16
@@ -2,19 +2,15 @@
 # CHECK_C_SOURCE_COMPILES(SOURCE VAR)
 # - macro which checks if the source code compiles
 #  SOURCE   - source code to try to compile
-#  VAR      - variable to store whether the source code compiled
-#
-# The following variables may be set before calling this macro to
-# modify the way the check is run:
+#  VAR - variable to store size if the type exists.
+# Checks the following optional VARIABLES (not arguments)
+#  CMAKE_REQUIRED_LIBRARIES - Link to extra libraries
+#  CMAKE_REQUIRED_FLAGS - Extra flags to C compiler
 #
-#  CMAKE_REQUIRED_FLAGS = string of compile command line flags
-#  CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-#  CMAKE_REQUIRED_INCLUDES = list of include directories
-#  CMAKE_REQUIRED_LIBRARIES = list of libraries to link
 
 MACRO(CHECK_C_SOURCE_COMPILES SOURCE VAR)
-  IF("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
-    SET(MACRO_CHECK_FUNCTION_DEFINITIONS
+  IF("${VAR}" MATCHES "^${VAR}$")
+    SET(MACRO_CHECK_FUNCTION_DEFINITIONS 
       "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
     IF(CMAKE_REQUIRED_LIBRARIES)
       SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
@@ -28,43 +24,32 @@
     ELSE(CMAKE_REQUIRED_INCLUDES)
       SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
     ENDIF(CMAKE_REQUIRED_INCLUDES)
-    SET(src "")
-    FOREACH(def ${EXTRA_DEFINES})
-      SET(src "${src}#define ${def} 1\n")
-    ENDFOREACH(def)
-    FOREACH(inc ${HEADER_INCLUDES})
-      SET(src "${src}#include <${inc}>\n")
-    ENDFOREACH(inc)
+    FILE(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/src.c"
+      "${SOURCE}")
 
-    SET(src "${src}\nint main() { ${SOURCE} ; return 0; }")
-    FILE(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src2.c"
-      "${src}\n")
-    EXEC_PROGRAM("${CMAKE_COMMAND}" 
-      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp"
-      ARGS -E copy src2.c src.c)
     MESSAGE(STATUS "Performing Test ${VAR}")
     TRY_COMPILE(${VAR}
       ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
-      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/src.c
+      CMAKE_FLAGS 
       "${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
       "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
       OUTPUT_VARIABLE OUTPUT)
     IF(${VAR})
-      SET(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+      SET(${VAR} 1 CACHE INTERNAL "Test ${FUNCTION}")
       MESSAGE(STATUS "Performing Test ${VAR} - Success")
-      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+      WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log 
         "Performing C SOURCE FILE Test ${VAR} succeded with the following output:\n"
         "${OUTPUT}\n"
-        "Source file was:\n${src}\n")
+        "Source file was:\n${SOURCE}\n" APPEND)
     ELSE(${VAR})
       MESSAGE(STATUS "Performing Test ${VAR} - Failed")
-      SET(${VAR} "" CACHE INTERNAL "Test ${VAR}")
-      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+      SET(${VAR} "" CACHE INTERNAL "Test ${FUNCTION}")
+      WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log 
         "Performing C SOURCE FILE Test ${VAR} failed with the following output:\n"
         "${OUTPUT}\n"
-        "Source file was:\n${src}\n")
+        "Source file was:\n${SOURCE}\n" APPEND)
     ENDIF(${VAR})
-  ENDIF("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
+  ENDIF("${VAR}" MATCHES "^${VAR}$")
 ENDMACRO(CHECK_C_SOURCE_COMPILES)
+



More information about the Cmake-commits mailing list