summaryrefslogtreecommitdiff
path: root/thirdparty/libtiff/CMakeLists.txt
diff options
context:
space:
mode:
authorMathieu Malaterre <mathieu.malaterre@gmail.com>2012-03-12 11:35:35 +0000
committerMathieu Malaterre <mathieu.malaterre@gmail.com>2012-03-12 11:35:35 +0000
commitecd5c523dcd8a416771cb89b1cdef69c94d0aca4 (patch)
treed1c75280e1c3777f46b2e55ecbfd6487809532d8 /thirdparty/libtiff/CMakeLists.txt
parent3de14fc63ecddf490637117ea650e0f559e7f9fe (diff)
[trunk] Update libtiff to 4.0.1 to support BigTIFF. openjpeg/tiff 4.0.1 currently builds on linux/x86_64 and linux/mingw32.
Diffstat (limited to 'thirdparty/libtiff/CMakeLists.txt')
-rw-r--r--thirdparty/libtiff/CMakeLists.txt232
1 files changed, 174 insertions, 58 deletions
diff --git a/thirdparty/libtiff/CMakeLists.txt b/thirdparty/libtiff/CMakeLists.txt
index 14601f0b..24332458 100644
--- a/thirdparty/libtiff/CMakeLists.txt
+++ b/thirdparty/libtiff/CMakeLists.txt
@@ -1,78 +1,194 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
project(libtiff C)
+# This convenient copy of libtiff does not support encapsulated zlib or jpeg
+# stream. see ZIP_SUPPORT and JPEG_SUPPORT values
-INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}")
-#
-ADD_DEFINITIONS(-DHAVE_STRING_H=1)
+INCLUDE_DIRECTORIES(BEFORE "${CMAKE_CURRENT_SOURCE_DIR}")
+INCLUDE_DIRECTORIES(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
SET(TARGET_FILES
- t4.h
- tiffiop.h
- tif_aux.c
- tif_close.c
- tif_codec.c
- tif_color.c
- tif_compress.c
- tif_dir.c
- tif_dir.h
- tif_dirinfo.c
- tif_dirread.c
- tif_dirwrite.c
- tif_dumpmode.c
- tif_error.c
- tif_extension.c
- tif_fax3.c
- tif_fax3.h
- tif_fax3sm.c
- tif_flush.c
- tif_getimage.c
- tif_jbig.c
- tif_jpeg.c
- tif_luv.c
- tif_lzw.c
- tif_next.c
- tif_ojpeg.c
- tif_open.c
- tif_packbits.c
- tif_pixarlog.c
- tif_predict.c
- tif_predict.h
- tif_print.c
- tif_read.c
- tif_strip.c
- tif_swab.c
- tif_thunder.c
- tif_tile.c
- tif_version.c
- tif_warning.c
- tif_write.c
- tif_zip.c
- uvcode.h
- )
+ t4.h
+ tiffiop.h
+ tif_aux.c
+ tif_close.c
+ tif_codec.c
+ tif_color.c
+ tif_compress.c
+ tif_dir.c
+ tif_dir.h
+ tif_dirinfo.c
+ tif_dirread.c
+ tif_dirwrite.c
+ tif_dumpmode.c
+ tif_error.c
+ tif_extension.c
+ tif_fax3.c
+ tif_fax3.h
+ tif_fax3sm.c
+ tif_flush.c
+ tif_getimage.c
+ tif_jbig.c
+ tif_jpeg.c
+ tif_luv.c
+ tif_lzw.c
+ tif_next.c
+ tif_ojpeg.c
+ tif_open.c
+ tif_packbits.c
+ tif_pixarlog.c
+ tif_predict.c
+ tif_predict.h
+ tif_print.c
+ tif_read.c
+ tif_strip.c
+ tif_swab.c
+ tif_thunder.c
+ tif_tile.c
+ tif_version.c
+ tif_warning.c
+ tif_write.c
+ tif_zip.c
+ tif_jpeg_12.c
+ tif_lzma.c
+ uvcode.h
+ )
IF(UNIX)
- SET(TARGET_FILES ${TARGET_FILES} tif_unix.c)
+ SET(TARGET_FILES ${TARGET_FILES} tif_unix.c)
+ELSE()
+ SET(TARGET_FILES ${TARGET_FILES} tif_win32.c)
ENDIF()
-IF(WIN32)
- SET(TARGET_FILES ${TARGET_FILES} tif_win32.c)
-ENDIF(WIN32)
+include(${CMAKE_ROOT}/Modules/TestBigEndian.cmake)
+TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
+set(HOST_BIGENDIAN ${WORDS_BIGENDIAN})
+if(HOST_BIGENDIAN)
+set(HOST_FILLORDER "FILLORDER_MSB2LSB")
+else()
+set(HOST_FILLORDER "FILLORDER_LSB2MSB")
+endif()
+include(CheckIncludeFiles)
+include(CheckSymbolExists)
+include(CheckFunctionExists)
+
+CHECK_INCLUDE_FILES("zlib.h" HAVE_ZLIB_H)
+CHECK_INCLUDE_FILES("jpeglib.h" HAVE_JPEGLIB_H)
+if(HAVE_JPEGLIB_H)
+ set(JPEG_SUPPORT 1)
+endif()
+if(HAVE_ZLIB_H)
+ set(ZIP_SUPPORT 1)
+ set(PIXARLOG_SUPPORT 1) # require zlib
+endif()
+CHECK_INCLUDE_FILES("assert.h" HAVE_ASSERT_H)
+CHECK_INCLUDE_FILES("dlfcn.h" HAVE_DLFCN_H)
+CHECK_INCLUDE_FILES("fcntl.h" HAVE_FCNTL_H)
+CHECK_INCLUDE_FILES("inttypes.h" HAVE_INTTYPES_H)
+CHECK_INCLUDE_FILES("io.h" HAVE_IO_H)
+CHECK_INCLUDE_FILES("limits.h" HAVE_LIMITS_H)
+CHECK_INCLUDE_FILES("malloc.h" HAVE_MALLOC_H)
+CHECK_INCLUDE_FILES("memory.h" HAVE_MEMORY_H)
+CHECK_INCLUDE_FILES("search.h" HAVE_SEARCH_H)
+CHECK_INCLUDE_FILES("stdint.h" HAVE_STDINT_H)
+CHECK_INCLUDE_FILES("stdlib.h" HAVE_STDLIB_H)
+CHECK_INCLUDE_FILES("string.h" HAVE_STRING_H)
+CHECK_INCLUDE_FILES("strings.h" HAVE_STRINGS_H)
+CHECK_INCLUDE_FILES("sys/stat.h" HAVE_SYS_STAT_H)
+CHECK_INCLUDE_FILES("sys/time.h" HAVE_SYS_TIME_H)
+CHECK_INCLUDE_FILES("time.h" HAVE_TIME_H)
+CHECK_INCLUDE_FILES("sys/types.h" HAVE_SYS_TYPES_H)
+CHECK_INCLUDE_FILES("unistd.h" HAVE_UNISTD_H)
+CHECK_INCLUDE_FILES("windows.h" HAVE_WINDOWS_H)
+CHECK_INCLUDE_FILES("strings.h" HAVE_STRINGS_H)
+CHECK_INCLUDE_FILES("ieeefp.h" HAVE_IEEEFP_H)
+
+# wotsit ?
+if( HAVE_TIME_H AND HAVE_SYS_TIME_H )
+ set(TIME_WITH_SYS_TIME 1)
+endif()
+set(LZMA_SUPPORT 0) # ?
+set(MDI_SUPPORT 1) # ?
+set(STDC_HEADERS 1) # why not ?
+set(DEFAULT_EXTRASAMPLE_AS_ALPHA 1)
+set(CHECK_JPEG_YCBCR_SUBSAMPLING 1)
+set(CCITT_SUPPORT 1)
+set(DEFER_STRILE_LOAD 0)
+set(HAVE_JBG_NEWLEN 0) # FIXME: jbigkit stuff
+set(STRIPCHOP_DEFAULT "TIFF_STRIPCHOP")
+set(STRIP_SIZE_DEFAULT 8192)
+set(SUBIFD_SUPPORT 1)
+set(THUNDER_SUPPORT 1)
+
+if(HAVE_STDINT_H)
+ set(TIFF_INT8_T int8_t)
+ set(TIFF_INT16_T int16_t)
+ set(TIFF_INT32_T int32_t)
+ set(TIFF_INT64_T int64_t)
+ set(TIFF_UINT8_T uint8_t)
+ set(TIFF_UINT16_T uint16_t)
+ set(TIFF_UINT32_T uint32_t)
+ set(TIFF_UINT64_T uint64_t)
+ set(TIFF_PTRDIFF_T ptrdiff_t)
+ set(TIFF_SSIZE_T ssize_t)
+ 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\"")
+endif()
+
+CHECK_FUNCTION_EXISTS(getopt HAVE_GETOPT)
+CHECK_FUNCTION_EXISTS(isascii HAVE_ISASCII)
+CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE)
+CHECK_FUNCTION_EXISTS(memset HAVE_MEMSET)
+CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP)
+CHECK_FUNCTION_EXISTS(strcasecmp HAVE_STRCASECMP)
+CHECK_FUNCTION_EXISTS(strchr HAVE_STRCHR)
+CHECK_FUNCTION_EXISTS(strrchr HAVE_STRRCHR)
+CHECK_FUNCTION_EXISTS(strstr HAVE_STRSTR)
+CHECK_FUNCTION_EXISTS(strtol HAVE_STRTOL)
+CHECK_FUNCTION_EXISTS(strtoul HAVE_STRTOUL)
+CHECK_FUNCTION_EXISTS(strtoull HAVE_STRTOULL)
+
+include(CheckTypeSize)
-#IF(APPLE)
-# SET(TARGET_FILES ${TARGET_FILES} tif_apple.c)
-#ENDIF(APPLE)
+CHECK_TYPE_SIZE("signed int" SIZEOF_SIGNED_INT)
+CHECK_TYPE_SIZE("signed long" SIZEOF_SIGNED_LONG)
+CHECK_TYPE_SIZE("signed long long" SIZEOF_SIGNED_LONG_LONG)
+CHECK_TYPE_SIZE("signed short" SIZEOF_SIGNED_SHORT)
+CHECK_TYPE_SIZE("unsigned int" SIZEOF_UNSIGNED_INT)
+CHECK_TYPE_SIZE("unsigned long" SIZEOF_UNSIGNED_LONG)
+CHECK_TYPE_SIZE("unsigned long long" SIZEOF_UNSIGNED_LONG_LONG)
+CHECK_TYPE_SIZE("unsigned short" SIZEOF_UNSIGNED_SHORT)
+CHECK_TYPE_SIZE("unsigned char*" SIZEOF_UNSIGNED_CHAR_P)
+
+#
+set(VERSION "\"4.0.1\"")
+set(PACKAGE_VERSION ${VERSION})
+set(PACKAGE "\"tiff\"")
+
+if(UNIX)
+ set(CMAKE_REQUIRED_LIBRARIES m)
+ set(HAVE_LIBM 1)
+endif()
+CHECK_SYMBOL_EXISTS(floor "math.h" HAVE_FLOOR)
+CHECK_SYMBOL_EXISTS(sqrt "math.h" HAVE_SQRT)
+CHECK_SYMBOL_EXISTS(pow "math.h" HAVE_POW)
+CHECK_SYMBOL_EXISTS(lfind "search.h" HAVE_LFIND)
+CHECK_SYMBOL_EXISTS(setmod "io.h" HAVE_SETMODE)
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tiffconf.h.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/tiffconf.h @ONLY)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tif_config.h.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/tif_config.h @ONLY)
SET(LIBTARGET "tiff")
#
ADD_LIBRARY(${LIBTARGET} STATIC ${TARGET_FILES})
#
-IF(MSVC)
- SET_TARGET_PROPERTIES(${LIBTARGET} PROPERTIES PREFIX "lib")
-ENDIF(MSVC)
-#
SET_TARGET_PROPERTIES(${LIBTARGET}
PROPERTIES
OUTPUT_NAME "${LIBTARGET}"
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/thirdparty/lib
)
-#