Mercurial > hg > orthanc-wsi
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()