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

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Apr 4 15:58:40 EDT 2007


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

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


Index: CheckCSourceCompiles.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CheckCSourceCompiles.cmake,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- CheckCSourceCompiles.cmake	4 Apr 2007 19:57:43 -0000	1.16
+++ CheckCSourceCompiles.cmake	4 Apr 2007 19:58:38 -0000	1.17
@@ -2,15 +2,19 @@
 # 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 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
+#  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:
+#
+#  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}$")
-    SET(MACRO_CHECK_FUNCTION_DEFINITIONS 
+    SET(MACRO_CHECK_FUNCTION_DEFINITIONS
       "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
     IF(CMAKE_REQUIRED_LIBRARIES)
       SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
@@ -24,31 +28,32 @@
     ELSE(CMAKE_REQUIRED_INCLUDES)
       SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
     ENDIF(CMAKE_REQUIRED_INCLUDES)
-    FILE(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/src.c"
-      "${SOURCE}")
+    FILE(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
+      "${SOURCE}\n")
 
     MESSAGE(STATUS "Performing Test ${VAR}")
     TRY_COMPILE(${VAR}
       ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/src.c
-      CMAKE_FLAGS 
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
       "${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
       "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
       OUTPUT_VARIABLE OUTPUT)
     IF(${VAR})
-      SET(${VAR} 1 CACHE INTERNAL "Test ${FUNCTION}")
+      SET(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
       MESSAGE(STATUS "Performing Test ${VAR} - Success")
-      WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log 
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Performing C SOURCE FILE Test ${VAR} succeded with the following output:\n"
         "${OUTPUT}\n"
-        "Source file was:\n${SOURCE}\n" APPEND)
+        "Source file was:\n${SOURCE}\n")
     ELSE(${VAR})
       MESSAGE(STATUS "Performing Test ${VAR} - Failed")
-      SET(${VAR} "" CACHE INTERNAL "Test ${FUNCTION}")
-      WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log 
+      SET(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Performing C SOURCE FILE Test ${VAR} failed with the following output:\n"
         "${OUTPUT}\n"
-        "Source file was:\n${SOURCE}\n" APPEND)
+        "Source file was:\n${SOURCE}\n")
     ENDIF(${VAR})
   ENDIF("${VAR}" MATCHES "^${VAR}$")
 ENDMACRO(CHECK_C_SOURCE_COMPILES)



More information about the Cmake-commits mailing list