summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tiff/libtiff/CMakeLists.txt')
-rwxr-xr-x[-rw-r--r--]tiff/libtiff/CMakeLists.txt195
1 files changed, 113 insertions, 82 deletions
diff --git a/tiff/libtiff/CMakeLists.txt b/tiff/libtiff/CMakeLists.txt
index 080685db..90105b28 100644..100755
--- a/tiff/libtiff/CMakeLists.txt
+++ b/tiff/libtiff/CMakeLists.txt
@@ -30,97 +30,112 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tiffconf.h.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/tiffconf.h
@ONLY)
-extra_dist(
- SConstruct
- tif_config.h-vms
- tif_config.vc.h
- tif_config.wince.h
- tiffconf.vc.h
- tiffconf.wince.h
- libtiff.def
- libtiff.map
- libtiffxx.map)
-
-set(tiff_HEADERS
- tiff.h
- tiffio.h
- tiffvers.h)
-
-set(tiff_noinst_HEADERS
- t4.h
- tif_dir.h
- tif_predict.h
- tiffiop.h
- uvcode.h)
-
-set(nodist_tiff_HEADERS
- ${CMAKE_CURRENT_BINARY_DIR}/tiffconf.h)
-
-set(tiff_SOURCES
- tif_aux.c
- tif_close.c
- tif_codec.c
- tif_color.c
- tif_compress.c
- tif_dir.c
- tif_dirinfo.c
- tif_dirread.c
- tif_dirwrite.c
- tif_dumpmode.c
- tif_error.c
- tif_extension.c
- tif_fax3.c
- tif_fax3sm.c
- tif_flush.c
- tif_getimage.c
- tif_jbig.c
- tif_jpeg.c
- tif_jpeg_12.c
- tif_luv.c
- tif_lzma.c
- tif_lzw.c
- tif_next.c
- tif_ojpeg.c
- tif_open.c
- tif_packbits.c
- tif_pixarlog.c
- tif_predict.c
- 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_webp.c
- tif_write.c
- tif_zip.c
- tif_zstd.c)
-
-set(tiffxx_HEADERS
- tiffio.hxx)
-
-set(tiffxx_SOURCES
- tif_stream.cxx)
+set(tiff_public_HEADERS
+ tiff.h
+ tiffio.h
+ tiffvers.h
+ ${CMAKE_CURRENT_BINARY_DIR}/tiffconf.h)
+
+set(tiff_private_HEADERS
+ t4.h
+ tif_dir.h
+ tif_predict.h
+ tiffiop.h
+ uvcode.h
+ ${CMAKE_CURRENT_BINARY_DIR}/tif_config.h)
+
+
+add_library(tiff libtiff.def)
+
+target_sources(tiff PRIVATE
+ ${tiff_public_HEADERS}
+ ${tiff_private_HEADERS}
+ tif_aux.c
+ tif_close.c
+ tif_codec.c
+ tif_color.c
+ tif_compress.c
+ tif_dir.c
+ tif_dirinfo.c
+ tif_dirread.c
+ tif_dirwrite.c
+ tif_dumpmode.c
+ tif_error.c
+ tif_extension.c
+ tif_fax3.c
+ tif_fax3sm.c
+ tif_flush.c
+ tif_getimage.c
+ tif_jbig.c
+ tif_jpeg.c
+ tif_jpeg_12.c
+ tif_lerc.c
+ tif_luv.c
+ tif_lzma.c
+ tif_lzw.c
+ tif_next.c
+ tif_ojpeg.c
+ tif_open.c
+ tif_packbits.c
+ tif_pixarlog.c
+ tif_predict.c
+ 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_webp.c
+ tif_write.c
+ tif_zip.c
+ tif_zstd.c)
if(USE_WIN32_FILEIO)
- extra_dist(tif_unix.c)
- list(APPEND tiff_SOURCES tif_win32.c)
+ target_sources(tiff PRIVATE tif_win32.c)
else()
- extra_dist(tif_win32.c)
- list(APPEND tiff_SOURCES tif_unix.c)
+ target_sources(tiff PRIVATE tif_unix.c)
endif()
-add_library(tiff ${tiff_SOURCES} ${tiff_HEADERS} ${nodist_tiff_HEADERS}
- ${tiff_port_SOURCES} libtiff.def)
target_include_directories(tiff
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
+ PRIVATE
${TIFF_INCLUDES}
)
-target_link_libraries(tiff ${TIFF_LIBRARY_DEPS})
+
+if(ZIP_SUPPORT)
+ target_link_libraries(tiff PRIVATE ZLIB::ZLIB)
+endif()
+if(ZIP_SUPPORT AND LIBDEFLATE_SUPPORT)
+ target_link_libraries(tiff PRIVATE Deflate::Deflate)
+endif()
+if(JPEG_SUPPORT)
+ target_link_libraries(tiff PRIVATE JPEG::JPEG)
+ if(JPEG_DUAL_MODE_8_12)
+ target_include_directories(tiff PRIVATE ${JPEG12_INCLUDE_DIR})
+ target_link_libraries(tiff PRIVATE ${JPEG12_LIBRARIES})
+ endif()
+endif()
+if(JBIG_SUPPORT)
+ target_link_libraries(tiff PRIVATE JBIG::JBIG)
+endif()
+if(LERC_SUPPORT)
+ target_link_libraries(tiff PRIVATE LERC::LERC)
+endif()
+if(LZMA_SUPPORT)
+ target_link_libraries(tiff PRIVATE LibLZMA::LibLZMA)
+endif()
+if(ZSTD_SUPPORT)
+ target_link_libraries(tiff PRIVATE ZSTD::ZSTD)
+endif()
+if(WEBP_SUPPORT)
+ target_link_libraries(tiff PRIVATE WebP::WebP)
+endif()
+target_link_libraries(tiff PRIVATE CMath::CMath)
+
set_target_properties(tiff PROPERTIES SOVERSION ${SO_COMPATVERSION})
if(NOT CYGWIN)
# This property causes shared libraries on Linux to have the full version
@@ -139,11 +154,17 @@ install(TARGETS tiff
LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
-install(FILES ${tiff_HEADERS} ${nodist_tiff_HEADERS}
+install(FILES ${tiff_public_HEADERS}
DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
if(CXX_SUPPORT)
- add_library(tiffxx ${tiffxx_SOURCES} ${tiffxx_HEADERS})
+ set(tiffxx_HEADERS
+ tiffio.hxx)
+
+ add_library(tiffxx)
+ target_sources(tiffxx PRIVATE
+ ${tiffxx_HEADERS}
+ tif_stream.cxx)
target_link_libraries(tiffxx tiff)
set_target_properties(tiffxx PROPERTIES SOVERSION ${SO_COMPATVERSION})
if(NOT CYGWIN)
@@ -167,3 +188,13 @@ if(CXX_SUPPORT)
DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
endif()
+
+add_executable(mkg3states)
+target_sources(mkg3states PRIVATE mkg3states.c tif_fax3.h)
+target_link_libraries(mkg3states tiff port)
+
+add_custom_target(faxtable
+ DEPENDS mkg3states
+ COMMAND ${CMAKE_COMMAND} -E rm "tif_fax3sm.c"
+ COMMAND mkg3states -b -c const "tif_fax3sm.c"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")