diff Resources/CMake/LibTiffConfiguration.cmake @ 0:4a7a53257c7d

initial commit
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 22 Oct 2016 21:48:33 +0200
parents
children 6e84b48851f7
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/CMake/LibTiffConfiguration.cmake	Sat Oct 22 21:48:33 2016 +0200
@@ -0,0 +1,115 @@
+if (STATIC_BUILD OR NOT USE_SYSTEM_LIBTIFF)
+  SET(LIBTIFF_SOURCES_DIR ${CMAKE_BINARY_DIR}/tiff-4.0.6)
+  SET(LIBTIFF_URL "http://www.montefiore.ulg.ac.be/~jodogne/Orthanc/ThirdPartyDownloads/WSI/tiff-4.0.6.tar.gz")
+  SET(LIBTIFF_MD5 "d1d2e940dea0b5ad435f21f03d96dd72")
+
+  DownloadPackage(${LIBTIFF_MD5} ${LIBTIFF_URL} "${LIBTIFF_SOURCES_DIR}")
+
+  if (NOT EXISTS ${LIBTIFF_SOURCES_DIR}/libtiff/tif_config.h)
+    file(WRITE ${LIBTIFF_SOURCES_DIR}/libtiff/tif_config.h "
+#include <stdint.h>
+#include <stddef.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h>
+")
+    file(WRITE ${LIBTIFF_SOURCES_DIR}/libtiff/tiffconf.h "
+#include <stdint.h>
+#include <sys/types.h>
+")
+  endif()
+
+  set(TIFF_FILLORDER FILLORDER_MSB2LSB)
+  if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i.*86.*" OR
+      CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64.*" OR
+      CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64.*")
+    set(TIFF_FILLORDER FILLORDER_LSB2MSB)
+  endif()
+
+  add_definitions(
+    -DTIFF_INT8_T=int8_t
+    -DTIFF_INT16_T=int16_t
+    -DTIFF_INT32_T=int32_t
+    -DTIFF_INT64_T=int64_t
+    -DTIFF_UINT8_T=uint8_t
+    -DTIFF_UINT16_T=uint16_t
+    -DTIFF_UINT32_T=uint32_t
+    -DTIFF_UINT64_T=uint64_t
+    -DTIFF_SSIZE_T=ssize_t
+    -DHAVE_IEEEFP=1
+    -DHOST_FILLORDER=${TIFF_FILLORDER}
+    -DHAVE_SNPRINTF=1
+    -DJPEG_SUPPORT=1
+    -DLZW_SUPPORT=1
+
+    -DTIFF_INT64_FORMAT="%lld"
+    -DTIFF_UINT64_FORMAT="%llu"
+    -DTIFF_SSIZE_FORMAT="%d"
+    )
+
+  set(LIBTIFF_SOURCES
+    #${LIBTIFF_SOURCES_DIR}/libtiff/mkg3states.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_aux.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_close.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_codec.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_color.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_compress.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dir.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dirinfo.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dirread.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dirwrite.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dumpmode.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_error.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_extension.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_fax3.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_fax3sm.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_flush.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_getimage.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_jbig.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_jpeg_12.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_jpeg.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_luv.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_lzma.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_lzw.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_next.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_ojpeg.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_open.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_packbits.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_pixarlog.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_predict.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_print.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_read.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_strip.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_swab.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_thunder.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_tile.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_unix.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_version.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_warning.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_write.c
+    ${LIBTIFF_SOURCES_DIR}/libtiff/tif_zip.c
+    )
+
+  include_directories(${LIBTIFF_SOURCES_DIR}/libtiff)
+
+  if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "Windows")
+    list(APPEND LIBTIFF_SOURCES
+      ${LIBTIFF_SOURCES_DIR}/libtiff/tif_win32.c
+      )
+  endif()
+
+  source_group(ThirdParty\\LibTiff REGULAR_EXPRESSION ${LIBTIFF_SOURCES_DIR}/.*)
+
+else()
+  CHECK_INCLUDE_FILE_CXX(tiff.h HAVE_LIBTIFF_H)
+  if (NOT HAVE_LIBTIFF_H)
+    message(FATAL_ERROR "Please install the libtiff-dev package")
+  endif()
+
+  CHECK_LIBRARY_EXISTS(tiff TIFFGetField "" HAVE_LIBTIFF_LIB)
+  if (NOT HAVE_LIBTIFF_LIB)
+    message(FATAL_ERROR "Please install the libtiff-dev package")
+  endif()
+
+  link_libraries(tiff)
+endif()