Blame libtiff/CMakeLists.txt

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()