|
Packit |
7838c8 |
# CMake build for libtiff
|
|
Packit |
7838c8 |
#
|
|
Packit |
7838c8 |
# Copyright © 2015 Open Microscopy Environment / University of Dundee
|
|
Packit |
7838c8 |
# Written by Roger Leigh <rleigh@codelibre.net>
|
|
Packit |
7838c8 |
#
|
|
Packit |
7838c8 |
# Permission to use, copy, modify, distribute, and sell this software and
|
|
Packit |
7838c8 |
# its documentation for any purpose is hereby granted without fee, provided
|
|
Packit |
7838c8 |
# that (i) the above copyright notices and this permission notice appear in
|
|
Packit |
7838c8 |
# all copies of the software and related documentation, and (ii) the names of
|
|
Packit |
7838c8 |
# Sam Leffler and Silicon Graphics may not be used in any advertising or
|
|
Packit |
7838c8 |
# publicity relating to the software without the specific, prior written
|
|
Packit |
7838c8 |
# permission of Sam Leffler and Silicon Graphics.
|
|
Packit |
7838c8 |
#
|
|
Packit |
7838c8 |
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
|
Packit |
7838c8 |
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
|
Packit |
7838c8 |
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
|
Packit |
7838c8 |
#
|
|
Packit |
7838c8 |
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
|
Packit |
7838c8 |
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
|
Packit |
7838c8 |
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
|
Packit |
7838c8 |
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
|
Packit |
7838c8 |
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
|
Packit |
7838c8 |
# OF THIS SOFTWARE.
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
# Generate headers
|
|
Packit |
7838c8 |
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tif_config.h.cmake.in
|
|
Packit |
7838c8 |
${CMAKE_CURRENT_BINARY_DIR}/tif_config.h
|
|
Packit |
7838c8 |
@ONLY)
|
|
Packit |
7838c8 |
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tiffconf.h.cmake.in
|
|
Packit |
7838c8 |
${CMAKE_CURRENT_BINARY_DIR}/tiffconf.h
|
|
Packit |
7838c8 |
@ONLY)
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
extra_dist(
|
|
Packit |
7838c8 |
SConstruct
|
|
Packit |
7838c8 |
tif_config.h-vms
|
|
Packit |
7838c8 |
tif_config.vc.h
|
|
Packit |
7838c8 |
tif_config.wince.h
|
|
Packit |
7838c8 |
tiffconf.vc.h
|
|
Packit |
7838c8 |
tiffconf.wince.h
|
|
Packit |
7838c8 |
libtiff.def
|
|
Packit |
7838c8 |
libtiff.map
|
|
Packit |
7838c8 |
libtiffxx.map)
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
set(tiff_HEADERS
|
|
Packit |
7838c8 |
tiff.h
|
|
Packit |
7838c8 |
tiffio.h
|
|
Packit |
7838c8 |
tiffvers.h)
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
set(tiff_noinst_HEADERS
|
|
Packit |
7838c8 |
t4.h
|
|
Packit |
7838c8 |
tif_dir.h
|
|
Packit |
7838c8 |
tif_predict.h
|
|
Packit |
7838c8 |
tiffiop.h
|
|
Packit |
7838c8 |
uvcode.h)
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
set(nodist_tiff_HEADERS
|
|
Packit |
7838c8 |
${CMAKE_CURRENT_BINARY_DIR}/tiffconf.h)
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
set(tiff_SOURCES
|
|
Packit |
7838c8 |
tif_aux.c
|
|
Packit |
7838c8 |
tif_close.c
|
|
Packit |
7838c8 |
tif_codec.c
|
|
Packit |
7838c8 |
tif_color.c
|
|
Packit |
7838c8 |
tif_compress.c
|
|
Packit |
7838c8 |
tif_dir.c
|
|
Packit |
7838c8 |
tif_dirinfo.c
|
|
Packit |
7838c8 |
tif_dirread.c
|
|
Packit |
7838c8 |
tif_dirwrite.c
|
|
Packit |
7838c8 |
tif_dumpmode.c
|
|
Packit |
7838c8 |
tif_error.c
|
|
Packit |
7838c8 |
tif_extension.c
|
|
Packit |
7838c8 |
tif_fax3.c
|
|
Packit |
7838c8 |
tif_fax3sm.c
|
|
Packit |
7838c8 |
tif_flush.c
|
|
Packit |
7838c8 |
tif_getimage.c
|
|
Packit |
7838c8 |
tif_jbig.c
|
|
Packit |
7838c8 |
tif_jpeg.c
|
|
Packit |
7838c8 |
tif_jpeg_12.c
|
|
Packit |
7838c8 |
tif_luv.c
|
|
Packit |
7838c8 |
tif_lzma.c
|
|
Packit |
7838c8 |
tif_lzw.c
|
|
Packit |
7838c8 |
tif_next.c
|
|
Packit |
7838c8 |
tif_ojpeg.c
|
|
Packit |
7838c8 |
tif_open.c
|
|
Packit |
7838c8 |
tif_packbits.c
|
|
Packit |
7838c8 |
tif_pixarlog.c
|
|
Packit |
7838c8 |
tif_predict.c
|
|
Packit |
7838c8 |
tif_print.c
|
|
Packit |
7838c8 |
tif_read.c
|
|
Packit |
7838c8 |
tif_strip.c
|
|
Packit |
7838c8 |
tif_swab.c
|
|
Packit |
7838c8 |
tif_thunder.c
|
|
Packit |
7838c8 |
tif_tile.c
|
|
Packit |
7838c8 |
tif_version.c
|
|
Packit |
7838c8 |
tif_warning.c
|
|
Packit |
7838c8 |
tif_write.c
|
|
Packit |
7838c8 |
tif_zip.c)
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
set(tiffxx_HEADERS
|
|
Packit |
7838c8 |
tiffio.hxx)
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
set(tiffxx_SOURCES
|
|
Packit |
7838c8 |
tif_stream.cxx)
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
if(WIN32_IO)
|
|
Packit |
7838c8 |
extra_dist(tif_unix.c)
|
|
Packit |
7838c8 |
list(APPEND tiff_SOURCES tif_win32.c)
|
|
Packit |
7838c8 |
else()
|
|
Packit |
7838c8 |
extra_dist(tif_win32.c)
|
|
Packit |
7838c8 |
list(APPEND tiff_SOURCES tif_unix.c)
|
|
Packit |
7838c8 |
endif()
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
|
|
Packit |
7838c8 |
${CMAKE_CURRENT_BINARY_DIR}
|
|
Packit |
7838c8 |
${TIFF_INCLUDES})
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
add_library(tiff ${tiff_SOURCES} ${tiff_HEADERS} ${nodist_tiff_HEADERS}
|
|
Packit |
7838c8 |
${tiff_port_SOURCES} libtiff.def)
|
|
Packit |
7838c8 |
target_link_libraries(tiff ${TIFF_LIBRARY_DEPS})
|
|
Packit |
7838c8 |
set_target_properties(tiff PROPERTIES SOVERSION ${SO_COMPATVERSION})
|
|
Packit |
7838c8 |
if(NOT CYGWIN)
|
|
Packit |
7838c8 |
# This property causes shared libraries on Linux to have the full version
|
|
Packit |
7838c8 |
# encoded into their final filename. We disable this on Cygwin because
|
|
Packit |
7838c8 |
# it causes cygz-${TIFF_FULL_VERSION}.dll to be created when cygz.dll
|
|
Packit |
7838c8 |
# seems to be the default.
|
|
Packit |
7838c8 |
set_target_properties(tiff PROPERTIES VERSION ${SO_VERSION})
|
|
Packit |
7838c8 |
endif()
|
|
Packit |
7838c8 |
if(HAVE_LD_VERSION_SCRIPT)
|
|
Packit |
7838c8 |
set_target_properties(tiff PROPERTIES LINK_FLAGS
|
|
Packit |
7838c8 |
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiff.map")
|
|
Packit |
7838c8 |
endif()
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
install(TARGETS tiff
|
|
Packit |
7838c8 |
RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR}
|
|
Packit |
7838c8 |
LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
|
|
Packit |
7838c8 |
ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
install(FILES ${tiff_HEADERS} ${nodist_tiff_HEADERS}
|
|
Packit |
7838c8 |
DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
if(cxx)
|
|
Packit |
7838c8 |
add_library(tiffxx ${tiffxx_SOURCES} ${tiffxx_HEADERS})
|
|
Packit |
7838c8 |
target_link_libraries(tiffxx tiff)
|
|
Packit |
7838c8 |
set_target_properties(tiffxx PROPERTIES SOVERSION ${SO_COMPATVERSION})
|
|
Packit |
7838c8 |
if(NOT CYGWIN)
|
|
Packit |
7838c8 |
# This property causes shared libraries on Linux to have the full version
|
|
Packit |
7838c8 |
# encoded into their final filename. We disable this on Cygwin because
|
|
Packit |
7838c8 |
# it causes cygz-${TIFF_FULL_VERSION}.dll to be created when cygz.dll
|
|
Packit |
7838c8 |
# seems to be the default.
|
|
Packit |
7838c8 |
set_target_properties(tiffxx PROPERTIES VERSION ${SO_VERSION})
|
|
Packit |
7838c8 |
endif()
|
|
Packit |
7838c8 |
if(HAVE_LD_VERSION_SCRIPT)
|
|
Packit |
7838c8 |
set_target_properties(tiffxx PROPERTIES LINK_FLAGS
|
|
Packit |
7838c8 |
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiffxx.map")
|
|
Packit |
7838c8 |
endif()
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
install(TARGETS tiffxx
|
|
Packit |
7838c8 |
RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR}
|
|
Packit |
7838c8 |
LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
|
|
Packit |
7838c8 |
ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
install(FILES ${tiffxx_HEADERS}
|
|
Packit |
7838c8 |
DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
|
|
Packit |
7838c8 |
|
|
Packit |
7838c8 |
endif()
|