diff options
| author | Mathieu Malaterre <mathieu.malaterre@gmail.com> | 2012-03-12 11:35:35 +0000 |
|---|---|---|
| committer | Mathieu Malaterre <mathieu.malaterre@gmail.com> | 2012-03-12 11:35:35 +0000 |
| commit | ecd5c523dcd8a416771cb89b1cdef69c94d0aca4 (patch) | |
| tree | d1c75280e1c3777f46b2e55ecbfd6487809532d8 /thirdparty/libtiff/CMakeLists.txt | |
| parent | 3de14fc63ecddf490637117ea650e0f559e7f9fe (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.txt | 232 |
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 ) -# |
