Update to libtiff-4.0.6 (#764)
[openjpeg.git] / thirdparty / libtiff / CMakeLists.txt
index efc86141dac37ba04e0389f8895a61214bb12b35..63a8f7e8725c5c16a55d2121d306dd1ce510768a 100644 (file)
@@ -55,6 +55,11 @@ SET(TARGET_FILES
 
 IF(UNIX)
   SET(TARGET_FILES ${TARGET_FILES} tif_unix.c)
+  # Large file support
+  # This might not catch every possibility catered for by
+  # AC_SYS_LARGEFILE.
+  add_definitions(-D_FILE_OFFSET_BITS=64)
+  set(_FILE_OFFSET_BITS 64)
 ELSE()
   SET(TARGET_FILES ${TARGET_FILES} tif_win32.c)
 ENDIF()
@@ -70,6 +75,7 @@ endif()
 include(CheckIncludeFiles)
 include(CheckSymbolExists)
 include(CheckFunctionExists)
+include(CheckCSourceCompiles)
 
 CHECK_INCLUDE_FILES("zlib.h" HAVE_ZLIB_H)
 CHECK_INCLUDE_FILES("jpeglib.h" HAVE_JPEGLIB_H)
@@ -135,6 +141,19 @@ CHECK_FUNCTION_EXISTS(strtol HAVE_STRTOL)
 CHECK_FUNCTION_EXISTS(strtoul HAVE_STRTOUL)
 CHECK_FUNCTION_EXISTS(strtoull HAVE_STRTOULL)
 
+# May be inlined, so check it compiles:
+check_c_source_compiles("
+#include <stdio.h>
+int main(void) {
+  char buf[10];
+  snprintf(buf, 10, \"Test %d\", 1);
+  return 0;
+}" HAVE_SNPRINTF)
+
+if(NOT HAVE_SNPRINTF)
+  SET(TARGET_FILES ${TARGET_FILES} snprintf.c)
+endif()
+
 include(CheckTypeSize)
 
 CHECK_TYPE_SIZE("signed int"         SIZEOF_SIGNED_INT)
@@ -162,20 +181,23 @@ if(HAVE_STDINT_H)
   if(NOT HAVE_SSIZE_T)
     if("${CMAKE_SIZEOF_VOID_P}" EQUAL 8)
       set(TIFF_SSIZE_T   int64_t)
+      set(TIFF_SSIZE_FORMAT "%lld")
+      set(TIFF_SIZE_FORMAT "%llu")
     elseif("${CMAKE_SIZEOF_VOID_P}" EQUAL 4)
       set(TIFF_SSIZE_T   int32_t)
+      set(TIFF_SSIZE_FORMAT "%d")
+      set(TIFF_SIZE_FORMAT "%u")
     else()
       message(FATAL_ERROR "unknown ssize_t")
     endif()
   else()
     set(TIFF_SSIZE_T   ssize_t)
   endif()
-  set(TIFF_INT32_FORMAT "\"%d\"")
-  set(TIFF_UINT32_FORMAT "\"%u\"")
-  set(TIFF_INT64_FORMAT "\"%ld\"")
-  set(TIFF_UINT64_FORMAT "\"%lu\"")
-  set(TIFF_PTRDIFF_FORMAT "\"%ld\"")
-  set(TIFF_SSIZE_FORMAT "\"%ld\"")
+  set(TIFF_INT32_FORMAT "%d")
+  set(TIFF_UINT32_FORMAT "%u")
+  set(TIFF_INT64_FORMAT "%lld")
+  set(TIFF_UINT64_FORMAT "%llu")
+  set(TIFF_PTRDIFF_FORMAT "%ld")
 else()
   set(TIFF_INT8_T    "signed __int8")
   set(TIFF_INT16_T   "signed __int16")
@@ -189,24 +211,27 @@ else()
   if(NOT HAVE_SSIZE_T)
     if("${CMAKE_SIZEOF_VOID_P}" EQUAL 8)
       set(TIFF_SSIZE_T   "signed __int64")
+      set(TIFF_SSIZE_FORMAT "%lld")
+      set(TIFF_SIZE_FORMAT "%llu")
     elseif("${CMAKE_SIZEOF_VOID_P}" EQUAL 4)
       set(TIFF_SSIZE_T   "signed __int32")
+      set(TIFF_SSIZE_FORMAT "%d")
+      set(TIFF_SIZE_FORMAT "%u")
     else()
       message(FATAL_ERROR "unknown ssize_t")
     endif()
   else()
     set(TIFF_SSIZE_T   ssize_t)
   endif()
-  set(TIFF_INT32_FORMAT "\"%d\"")
-  set(TIFF_UINT32_FORMAT "\"%u\"")
-  set(TIFF_INT64_FORMAT "\"%ld\"")
-  set(TIFF_UINT64_FORMAT "\"%lu\"")
-  set(TIFF_PTRDIFF_FORMAT "\"%ld\"")
-  set(TIFF_SSIZE_FORMAT "\"%ld\"")
+  set(TIFF_INT32_FORMAT "%d")
+  set(TIFF_UINT32_FORMAT "%u")
+  set(TIFF_INT64_FORMAT "%lld")
+  set(TIFF_UINT64_FORMAT "%llu")
+  set(TIFF_PTRDIFF_FORMAT "%ld")
 endif()
 
 #
-set(VERSION "\"4.0.1\"")
+set(VERSION "\"4.0.6\"")
 set(PACKAGE_VERSION ${VERSION})
 set(PACKAGE "\"tiff\"")
 
@@ -232,7 +257,7 @@ FOREACH(KEYWORD "inline" "__inline__" "__inline")
        COMPILE_DEFINITIONS "-Dinline=${KEYWORD}")
     IF(C_HAS_${KEYWORD})
       SET(C_INLINE TRUE)
-      SET(INLINE "${KEYWORD}")
+      SET(INLINE_KEYWORD "${KEYWORD}")
     ENDIF(C_HAS_${KEYWORD})
   ENDIF(NOT DEFINED C_INLINE)
 ENDFOREACH(KEYWORD)