[Debburn-changes] r340 - nonameyet/trunk/include

Eduard Bloch blade at costa.debian.org
Tue Sep 26 17:30:29 UTC 2006


Author: blade
Date: 2006-09-26 17:30:29 +0000 (Tue, 26 Sep 2006)
New Revision: 340

Modified:
   nonameyet/trunk/include/AddSchilyBits.cmake
Log:
Univeral check for isnan

Modified: nonameyet/trunk/include/AddSchilyBits.cmake
===================================================================
--- nonameyet/trunk/include/AddSchilyBits.cmake	2006-09-26 12:50:39 UTC (rev 339)
+++ nonameyet/trunk/include/AddSchilyBits.cmake	2006-09-26 17:30:29 UTC (rev 340)
@@ -1,23 +1,23 @@
+IF(NOT CHECKED_SCHILY)
+   INCLUDE(CheckCSourceCompiles)
+   SET(CHECKED_SCHILY 1)
+   LIST(APPEND EXTRA_LIBS "schily")
 
-LIST(APPEND EXTRA_LIBS "schily")
+   SET(TESTSRC " 
+   #include <math.h>
+   int main() { return isnan(1); }
+   ")
 
-IF(${CMAKE_SYSTEM_NAME} EQUAL "AIX")
-   LIST(APPEND EXTRA_LIBS "m")
-ENDIF(${CMAKE_SYSTEM_NAME} EQUAL "AIX")
+   CHECK_C_SOURCE_COMPILES("${TESTSRC}" HAVE_LIBC_ISNAN)
 
+   IF(NOT HAVE_LIBC_ISNAN)
+      SET(CMAKE_REQUIRED_LIBRARIES m)
+      LIST(APPEND EXTRA_LIBS m)
+      CHECK_C_SOURCE_COMPILES("${TESTSRC}" HAVE_LIBM_ISNAN)
+      IF(NOT HAVE_LIBM_ISNAN)
+         MESSAGE(FATAL_ERROR "isnan function not found anywhere on ${CMAKE_SYSTEM_NAME}")
+      ENDIF(NOT HAVE_LIBM_ISNAN)
+   ENDIF(NOT HAVE_LIBC_ISNAN)
 
+ENDIF(NOT CHECKED_SCHILY)
 
-#INCLUDE(CheckIncludeFiles)
-#CHECK_INCLUDE_FILES("stdio.h;camlib.h" HAVE_CAMLIB_H)
-
-#TRY_COMPILE(HAVE_LIBC_ISNAN ${CMAKE_BINARY_DIR}  ${CMAKE_CURRENT_SOURCE_DIR}/test_NEED_LIBM.c)
-#
-#IF(NOT HAVE_LIBC_ISNAN)
-#   TARGET_LINK_LIBRARIES(cmTryCompileExec m)
-#   TRY_COMPILE(HAVE_LIBC_ISNAN ${CMAKE_BINARY_DIR}  ${CMAKE_CURRENT_SOURCE_DIR}/test_NEED_LIBM.c)
-#   IF(HAVE_LIBC_ISNAN)
-#   LIST(APPEND EXTRA_LIBS "m")
-#   ELSE(HAVE_LIBC_ISNAN)
-#      MESSAGE(FATAL_ERROR "isnan function not found anywhere ${CMAKE_SYSTEM_NAME}")
-#   ENDIF(HAVE_LIBC_ISNAN)
-#ENDIF(NOT HAVE_LIBC_ISNAN)




More information about the Debburn-changes mailing list