Blame CMakeLists.txt

Packit 7838c8
# CMake build for libtiff
Packit 7838c8
# Run "cmake" to generate the build files for your platform
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
cmake_minimum_required(VERSION 2.8.9)
Packit 7838c8
Packit 7838c8
# Default policy is from 2.8.9
Packit 7838c8
cmake_policy(VERSION 2.8.9)
Packit 7838c8
# Set MacOSX @rpath usage globally.
Packit 7838c8
if (POLICY CMP0020)
Packit 7838c8
  cmake_policy(SET CMP0020 NEW)
Packit 7838c8
endif(POLICY CMP0020)
Packit 7838c8
if (POLICY CMP0042)
Packit 7838c8
  cmake_policy(SET CMP0042 NEW)
Packit 7838c8
endif(POLICY CMP0042)
Packit 7838c8
# Use new variable expansion policy.
Packit 7838c8
if (POLICY CMP0053)
Packit 7838c8
  cmake_policy(SET CMP0053 NEW)
Packit 7838c8
endif(POLICY CMP0053)
Packit 7838c8
if (POLICY CMP0054)
Packit 7838c8
  cmake_policy(SET CMP0054 NEW)
Packit 7838c8
endif(POLICY CMP0054)
Packit 7838c8
Packit 7838c8
# Read version information from configure.ac.
Packit 7838c8
FILE(READ "${CMAKE_CURRENT_SOURCE_DIR}/configure.ac" configure)
Packit 7838c8
STRING(REGEX REPLACE ";" "\\\\;" configure "${configure}")
Packit 7838c8
STRING(REGEX REPLACE "\n" ";" configure "${configure}")
Packit 7838c8
foreach(line ${configure})
Packit 7838c8
  foreach(var LIBTIFF_MAJOR_VERSION LIBTIFF_MINOR_VERSION LIBTIFF_MICRO_VERSION LIBTIFF_ALPHA_VERSION
Packit 7838c8
          LIBTIFF_CURRENT LIBTIFF_REVISION LIBTIFF_AGE)
Packit 7838c8
    if(NOT ${var})
Packit 7838c8
      string(REGEX MATCH "^${var}=(.*)" ${var}_MATCH "${line}")
Packit 7838c8
      if(${var}_MATCH)
Packit 7838c8
        string(REGEX REPLACE "^${var}=(.*)" "\\1" ${var} "${line}")
Packit 7838c8
      endif()
Packit 7838c8
    endif()
Packit 7838c8
  endforeach()
Packit 7838c8
endforeach()
Packit 7838c8
Packit 7838c8
math(EXPR SO_MAJOR "${LIBTIFF_CURRENT} - ${LIBTIFF_AGE}")
Packit 7838c8
set(SO_MINOR "${LIBTIFF_AGE}")
Packit 7838c8
set(SO_REVISION "${LIBTIFF_REVISION}")
Packit 7838c8
Packit 7838c8
message(STATUS "Building tiff version ${LIBTIFF_MAJOR_VERSION}.${LIBTIFF_MINOR_VERSION}.${LIBTIFF_MICRO_VERSION}${LIBTIFF_ALPHA_VERSION}")
Packit 7838c8
message(STATUS "libtiff library version ${SO_MAJOR}.${SO_MINOR}.${SO_REVISION}")
Packit 7838c8
Packit 7838c8
set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries")
Packit 7838c8
Packit 7838c8
# Project version
Packit 7838c8
project(tiff C)
Packit 7838c8
set(VERSION "${LIBTIFF_MAJOR_VERSION}.${LIBTIFF_MINOR_VERSION}.${LIBTIFF_MICRO_VERSION}")
Packit 7838c8
set(tiff_VERSION "${VERSION}")
Packit 7838c8
set(tiff_VERSION_MAJOR "${LIBTIFF_MAJOR_VERSION}")
Packit 7838c8
set(tiff_VERSION_MINOR "${LIBTIFF_MINOR_VERSION}")
Packit 7838c8
set(tiff_VERSION_PATCH "${LIBTIFF_MICRO_VERSION}")
Packit 7838c8
Packit 7838c8
# the other tiff_VERSION_* variables are set automatically
Packit 7838c8
set(tiff_VERSION_ALPHA "${LIBTIFF_ALPHA_VERSION}")
Packit 7838c8
# Library version (unlike libtool's baroque scheme, WYSIWYG here)
Packit 7838c8
set(SO_COMPATVERSION "${SO_MAJOR}")
Packit 7838c8
set(SO_VERSION "${SO_MAJOR}.${SO_MINOR}.${SO_REVISION}")
Packit 7838c8
Packit 7838c8
# For autotools header compatibility
Packit 7838c8
set(PACKAGE_NAME "LibTIFF Software")
Packit 7838c8
set(PACKAGE_TARNAME "${PROJECT_NAME}")
Packit 7838c8
set(PACKAGE_VERSION "${PROJECT_VERSION}${tiff_VERSION_ALPHA}")
Packit 7838c8
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
Packit 7838c8
set(PACKAGE_BUGREPORT "tiff@lists.maptools.org")
Packit 7838c8
Packit 7838c8
include(GNUInstallDirs)
Packit 7838c8
include(CheckCCompilerFlag)
Packit 7838c8
include(CheckCSourceCompiles)
Packit 7838c8
include(CheckIncludeFile)
Packit 7838c8
include(CheckTypeSize)
Packit 7838c8
include(CheckFunctionExists)
Packit 7838c8
enable_testing()
Packit 7838c8
Packit 7838c8
macro(current_date var)
Packit 7838c8
  if(UNIX)
Packit 7838c8
    execute_process(COMMAND "date" +"%Y%m%d" OUTPUT_VARIABLE ${var})
Packit 7838c8
  endif()
Packit 7838c8
endmacro()
Packit 7838c8
Packit 7838c8
current_date(RELEASE_DATE)
Packit 7838c8
Packit 7838c8
macro(extra_dist)
Packit 7838c8
  foreach(file ${ARGV})
Packit 7838c8
    file(RELATIVE_PATH relfile "${PROJECT_SOURCE_DIR}"
Packit 7838c8
         "${CMAKE_CURRENT_SOURCE_DIR}/${file}")
Packit 7838c8
    list(APPEND EXTRA_DIST "${relfile}")
Packit 7838c8
  endforeach()
Packit 7838c8
  set(EXTRA_DIST "${EXTRA_DIST}" PARENT_SCOPE)
Packit 7838c8
endmacro()
Packit 7838c8
Packit 7838c8
set(EXTRA_DIST
Packit 7838c8
  HOWTO-RELEASE
Packit 7838c8
  Makefile.vc
Packit 7838c8
  SConstruct
Packit 7838c8
  autogen.sh
Packit 7838c8
  configure.com
Packit 7838c8
  nmake.opt
Packit 7838c8
  libtiff-4.pc.in)
Packit 7838c8
Packit 7838c8
# These are annoyingly verbose, produce false positives or don't work
Packit 7838c8
# nicely with all supported compiler versions, so are disabled unless
Packit 7838c8
# explicitly enabled.
Packit 7838c8
option(extra-warnings "Enable extra compiler warnings" OFF)
Packit 7838c8
Packit 7838c8
# This will cause the compiler to fail when an error occurs.
Packit 7838c8
option(fatal-warnings "Compiler warnings are errors" OFF)
Packit 7838c8
Packit 7838c8
# Check if the compiler supports each of the following additional
Packit 7838c8
# flags, and enable them if supported.  This greatly improves the
Packit 7838c8
# quality of the build by checking for a number of common problems,
Packit 7838c8
# some of which are quite serious.
Packit 7838c8
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR
Packit 7838c8
   CMAKE_C_COMPILER_ID MATCHES "Clang")
Packit 7838c8
  set(test_flags
Packit 7838c8
      -Wall
Packit 7838c8
      -Winline
Packit 7838c8
      -W
Packit 7838c8
      -Wformat-security
Packit 7838c8
      -Wpointer-arith
Packit 7838c8
      -Wdisabled-optimization
Packit 7838c8
      -Wno-unknown-pragmas
Packit 7838c8
      -Wdeclaration-after-statement
Packit 7838c8
      -fstrict-aliasing)
Packit 7838c8
  if(extra-warnings)
Packit 7838c8
    list(APPEND test_flags
Packit 7838c8
        -Wfloat-equal
Packit 7838c8
        -Wmissing-prototypes
Packit 7838c8
        -Wunreachable-code)
Packit 7838c8
  endif()
Packit 7838c8
  if(fatal-warnings)
Packit 7838c8
    list(APPEND test_flags
Packit 7838c8
         -Werror)
Packit 7838c8
  endif()
Packit 7838c8
elseif(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
Packit 7838c8
  set(test_flags)
Packit 7838c8
  if(extra-warnings)
Packit 7838c8
    list(APPEND test_flags
Packit 7838c8
         /W4)
Packit 7838c8
  else()
Packit 7838c8
    list(APPEND test_flags
Packit 7838c8
         /W3)
Packit 7838c8
  endif()
Packit 7838c8
  if (fatal-warnings)
Packit 7838c8
    list(APPEND test_flags
Packit 7838c8
         /WX)
Packit 7838c8
  endif()
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
foreach(flag ${test_flags})
Packit 7838c8
  string(REGEX REPLACE "[^A-Za-z0-9]" "_" flag_var "${flag}")
Packit 7838c8
  set(test_c_flag "C_FLAG${flag_var}")
Packit 7838c8
  CHECK_C_COMPILER_FLAG(${flag} "${test_c_flag}")
Packit 7838c8
  if (${test_c_flag})
Packit 7838c8
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
Packit 7838c8
  endif (${test_c_flag})
Packit 7838c8
endforeach(flag ${test_flags})
Packit 7838c8
Packit 7838c8
if(MSVC)
Packit 7838c8
    set(CMAKE_DEBUG_POSTFIX "d")
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
option(ld-version-script "Enable linker version script" ON)
Packit 7838c8
# Check if LD supports linker scripts.
Packit 7838c8
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/conftest.map" "VERS_1 {
Packit 7838c8
        global: sym;
Packit 7838c8
};
Packit 7838c8
Packit 7838c8
VERS_2 {
Packit 7838c8
        global: sym;
Packit 7838c8
} VERS_1;
Packit 7838c8
")
Packit 7838c8
set(CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS})
Packit 7838c8
set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/conftest.map")
Packit 7838c8
check_c_source_compiles("int main(void){return 0;}" HAVE_LD_VERSION_SCRIPT)
Packit 7838c8
set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE})
Packit 7838c8
file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/conftest.map")
Packit 7838c8
if (ld-version-script AND HAVE_LD_VERSION_SCRIPT)
Packit 7838c8
  set(HAVE_LD_VERSION_SCRIPT TRUE)
Packit 7838c8
else()
Packit 7838c8
  set(HAVE_LD_VERSION_SCRIPT FALSE)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# Find libm, if available
Packit 7838c8
find_library(M_LIBRARY m)
Packit 7838c8
Packit 7838c8
check_include_file(assert.h    HAVE_ASSERT_H)
Packit 7838c8
check_include_file(dlfcn.h     HAVE_DLFCN_H)
Packit 7838c8
check_include_file(fcntl.h     HAVE_FCNTL_H)
Packit 7838c8
check_include_file(inttypes.h  HAVE_INTTYPES_H)
Packit 7838c8
check_include_file(io.h        HAVE_IO_H)
Packit 7838c8
check_include_file(limits.h    HAVE_LIMITS_H)
Packit 7838c8
check_include_file(malloc.h    HAVE_MALLOC_H)
Packit 7838c8
check_include_file(memory.h    HAVE_MEMORY_H)
Packit 7838c8
check_include_file(search.h    HAVE_SEARCH_H)
Packit 7838c8
check_include_file(stdint.h    HAVE_STDINT_H)
Packit 7838c8
check_include_file(string.h    HAVE_STRING_H)
Packit 7838c8
check_include_file(strings.h   HAVE_STRINGS_H)
Packit 7838c8
check_include_file(sys/time.h  HAVE_SYS_TIME_H)
Packit 7838c8
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
Packit 7838c8
check_include_file(unistd.h    HAVE_UNISTD_H)
Packit 7838c8
Packit 7838c8
# Inspired from /usr/share/autoconf/autoconf/c.m4
Packit 7838c8
foreach(inline_keyword "inline" "__inline__" "__inline")
Packit 7838c8
  if(NOT DEFINED C_INLINE)
Packit 7838c8
    set(CMAKE_REQUIRED_DEFINITIONS_SAVE ${CMAKE_REQUIRED_DEFINITIONS})
Packit 7838c8
    set(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
Packit 7838c8
        "-Dinline=${inline_keyword}")
Packit 7838c8
    check_c_source_compiles("
Packit 7838c8
        typedef int foo_t;
Packit 7838c8
        static inline foo_t static_foo() {return 0;}
Packit 7838c8
        foo_t foo(){return 0;}
Packit 7838c8
        int main(int argc, char *argv[]) {return 0;}"
Packit 7838c8
      C_HAS_${inline_keyword})
Packit 7838c8
    set(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS_SAVE})
Packit 7838c8
    if(C_HAS_${inline_keyword})
Packit 7838c8
      set(C_INLINE TRUE)
Packit 7838c8
      set(INLINE_KEYWORD "${inline_keyword}")
Packit 7838c8
    endif()
Packit 7838c8
 endif()
Packit 7838c8
endforeach()
Packit 7838c8
if(NOT DEFINED C_INLINE)
Packit 7838c8
  set(INLINE_KEYWORD)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# off_t and size_t checks omitted; not clear they are used at all
Packit 7838c8
# Are off_t and size_t checks strictly necessary?
Packit 7838c8
Packit 7838c8
# Check if sys/time.h and time.h allow use together
Packit 7838c8
check_c_source_compiles("
Packit 7838c8
#include <sys/time.h>
Packit 7838c8
#include <time.h>
Packit 7838c8
int main(void){return 0;}"
Packit 7838c8
  TIME_WITH_SYS_TIME)
Packit 7838c8
Packit 7838c8
# Check if struct tm is in sys/time.h
Packit 7838c8
check_c_source_compiles("
Packit 7838c8
#include <sys/types.h>
Packit 7838c8
#include <time.h>
Packit 7838c8
Packit 7838c8
int main(void){
Packit 7838c8
  struct tm tm;
Packit 7838c8
  int *p = &tm.tm_sec;
Packit 7838c8
  return !p;
Packit 7838c8
}"
Packit 7838c8
  TM_IN_SYS_TIME)
Packit 7838c8
Packit 7838c8
# Check type sizes
Packit 7838c8
# NOTE: Could be replaced with C99 <stdint.h>
Packit 7838c8
check_type_size("signed short" SIZEOF_SIGNED_SHORT)
Packit 7838c8
check_type_size("unsigned short" SIZEOF_UNSIGNED_SHORT)
Packit 7838c8
check_type_size("signed int" SIZEOF_SIGNED_INT)
Packit 7838c8
check_type_size("unsigned int" SIZEOF_UNSIGNED_INT)
Packit 7838c8
check_type_size("signed long" SIZEOF_SIGNED_LONG)
Packit 7838c8
check_type_size("unsigned long" SIZEOF_UNSIGNED_LONG)
Packit 7838c8
check_type_size("signed long long" SIZEOF_SIGNED_LONG_LONG)
Packit 7838c8
check_type_size("unsigned long long" SIZEOF_UNSIGNED_LONG_LONG)
Packit 7838c8
check_type_size("unsigned char *" SIZEOF_UNSIGNED_CHAR_P)
Packit 7838c8
Packit 7838c8
set(CMAKE_EXTRA_INCLUDE_FILES_SAVE ${CMAKE_EXTRA_INCLUDE_FILES})
Packit 7838c8
set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES} "stddef.h")
Packit 7838c8
check_type_size("size_t" SIZEOF_SIZE_T)
Packit 7838c8
check_type_size("ptrdiff_t" SIZEOF_PTRDIFF_T)
Packit 7838c8
set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES_SAVE})
Packit 7838c8
Packit 7838c8
macro(report_values)
Packit 7838c8
  foreach(val ${ARGV})
Packit 7838c8
    message(STATUS "${val} set to ${${val}}")
Packit 7838c8
  endforeach()
Packit 7838c8
endmacro()
Packit 7838c8
Packit 7838c8
set(TIFF_INT8_T "signed char")
Packit 7838c8
set(TIFF_UINT8_T "unsigned char")
Packit 7838c8
Packit 7838c8
set(TIFF_INT16_T "signed short")
Packit 7838c8
set(TIFF_UINT16_T "unsigned short")
Packit 7838c8
Packit 7838c8
if(SIZEOF_SIGNED_INT EQUAL 4)
Packit 7838c8
  set(TIFF_INT32_T "signed int")
Packit 7838c8
  set(TIFF_INT32_FORMAT "%d")
Packit 7838c8
elseif(SIZEOF_SIGNED_LONG EQUAL 4)
Packit 7838c8
  set(TIFF_INT32_T "signed long")
Packit 7838c8
  set(TIFF_INT32_FORMAT "%ld")
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
if(SIZEOF_UNSIGNED_INT EQUAL 4)
Packit 7838c8
  set(TIFF_UINT32_T "unsigned int")
Packit 7838c8
  set(TIFF_UINT32_FORMAT "%u")
Packit 7838c8
elseif(SIZEOF_UNSIGNED_LONG EQUAL 4)
Packit 7838c8
  set(TIFF_UINT32_T "unsigned long")
Packit 7838c8
  set(TIFF_UINT32_FORMAT "%lu")
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
if(SIZEOF_SIGNED_LONG EQUAL 8)
Packit 7838c8
  set(TIFF_INT64_T "signed long")
Packit 7838c8
  set(TIFF_INT64_FORMAT "%ld")
Packit 7838c8
elseif(SIZEOF_SIGNED_LONG_LONG EQUAL 8)
Packit 7838c8
  set(TIFF_INT64_T "signed long long")
Packit 7838c8
  if (MINGW)
Packit 7838c8
    set(TIFF_INT64_FORMAT "%I64d")
Packit 7838c8
  else()
Packit 7838c8
    set(TIFF_INT64_FORMAT "%lld")
Packit 7838c8
  endif()
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
if(SIZEOF_UNSIGNED_LONG EQUAL 8)
Packit 7838c8
  set(TIFF_UINT64_T "unsigned long")
Packit 7838c8
  set(TIFF_UINT64_FORMAT "%lu")
Packit 7838c8
elseif(SIZEOF_UNSIGNED_LONG_LONG EQUAL 8)
Packit 7838c8
  set(TIFF_UINT64_T "unsigned long long")
Packit 7838c8
  if (MINGW)
Packit 7838c8
    set(TIFF_UINT64_FORMAT "%I64u")
Packit 7838c8
  else()
Packit 7838c8
    set(TIFF_UINT64_FORMAT "%llu")
Packit 7838c8
  endif()
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
if(SIZEOF_UNSIGNED_INT EQUAL SIZEOF_SIZE_T)
Packit 7838c8
  set(TIFF_SIZE_T "unsigned int")
Packit 7838c8
  set(TIFF_SIZE_FORMAT "%u")
Packit 7838c8
elseif(SIZEOF_UNSIGNED_LONG EQUAL SIZEOF_SIZE_T)
Packit 7838c8
  set(TIFF_SIZE_T "unsigned long")
Packit 7838c8
  set(TIFF_SIZE_FORMAT "%lu")
Packit 7838c8
elseif(SIZEOF_UNSIGNED_LONG_LONG EQUAL SIZEOF_SIZE_T)
Packit 7838c8
  set(TIFF_SIZE_T "unsigned long")
Packit 7838c8
  if (MINGW)
Packit 7838c8
    set(TIFF_SIZE_FORMAT "%I64u")
Packit 7838c8
  else()
Packit 7838c8
    set(TIFF_SIZE_FORMAT "%llu")
Packit 7838c8
  endif()
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
if(SIZEOF_SIGNED_INT EQUAL SIZEOF_UNSIGNED_CHAR_P)
Packit 7838c8
  set(TIFF_SSIZE_T "signed int")
Packit 7838c8
  set(TIFF_SSIZE_FORMAT "%d")
Packit 7838c8
elseif(SIZEOF_SIGNED_LONG EQUAL SIZEOF_UNSIGNED_CHAR_P)
Packit 7838c8
  set(TIFF_SSIZE_T "signed long")
Packit 7838c8
  set(TIFF_SSIZE_FORMAT "%ld")
Packit 7838c8
elseif(SIZEOF_SIGNED_LONG_LONG EQUAL SIZEOF_UNSIGNED_CHAR_P)
Packit 7838c8
  set(TIFF_SSIZE_T "signed long long")
Packit 7838c8
  if (MINGW)
Packit 7838c8
    set(TIFF_SSIZE_FORMAT "%I64d")
Packit 7838c8
  else()
Packit 7838c8
    set(TIFF_SSIZE_FORMAT "%lld")
Packit 7838c8
  endif()
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
if(NOT SIZEOF_PTRDIFF_T)
Packit 7838c8
  set(TIFF_PTRDIFF_T "${TIFF_SSIZE_T}")
Packit 7838c8
  set(TIFF_PTRDIFF_FORMAT "${SSIZE_FORMAT}")
Packit 7838c8
else()
Packit 7838c8
  set(TIFF_PTRDIFF_T "ptrdiff_t")
Packit 7838c8
  set(TIFF_PTRDIFF_FORMAT "%ld")
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
#report_values(TIFF_INT8_T TIFF_INT8_FORMAT
Packit 7838c8
#              TIFF_UINT8_T TIFF_UINT8_FORMAT
Packit 7838c8
#              TIFF_INT16_T TIFF_INT16_FORMAT
Packit 7838c8
#              TIFF_UINT16_T TIFF_UINT16_FORMAT
Packit 7838c8
#              TIFF_INT32_T TIFF_INT32_FORMAT
Packit 7838c8
#              TIFF_UINT32_T TIFF_UINT32_FORMAT
Packit 7838c8
#              TIFF_INT64_T TIFF_INT64_FORMAT
Packit 7838c8
#              TIFF_UINT64_T TIFF_UINT64_FORMAT
Packit 7838c8
#              TIFF_SSIZE_T TIFF_SSIZE_FORMAT
Packit 7838c8
#              TIFF_PTRDIFF_T TIFF_PTRDIFF_FORMAT)
Packit 7838c8
Packit 7838c8
# Nonstandard int types
Packit 7838c8
check_type_size(INT8 int8)
Packit 7838c8
set(HAVE_INT8 ${INT8})
Packit 7838c8
check_type_size(INT16 int16)
Packit 7838c8
set(HAVE_INT16 ${INT16})
Packit 7838c8
check_type_size(INT32 int32)
Packit 7838c8
set(HAVE_INT32 ${INT32})
Packit 7838c8
Packit 7838c8
# Check functions
Packit 7838c8
set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
Packit 7838c8
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${M_LIBRARY})
Packit 7838c8
check_function_exists(floor HAVE_FLOOR)
Packit 7838c8
check_function_exists(pow   HAVE_POW)
Packit 7838c8
check_function_exists(sqrt  HAVE_SQRT)
Packit 7838c8
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
Packit 7838c8
Packit 7838c8
check_function_exists(isascii    HAVE_ISASCII)
Packit 7838c8
check_function_exists(memmove    HAVE_MEMMOVE)
Packit 7838c8
check_function_exists(memset     HAVE_MEMSET)
Packit 7838c8
check_function_exists(mmap       HAVE_MMAP)
Packit 7838c8
check_function_exists(setmode    HAVE_SETMODE)
Packit 7838c8
check_function_exists(strcasecmp HAVE_STRCASECMP)
Packit 7838c8
check_function_exists(strchr     HAVE_STRCHR)
Packit 7838c8
check_function_exists(strrchr    HAVE_STRRCHR)
Packit 7838c8
check_function_exists(strstr     HAVE_STRSTR)
Packit 7838c8
check_function_exists(strtol     HAVE_STRTOL)
Packit 7838c8
check_function_exists(strtol     HAVE_STRTOUL)
Packit 7838c8
check_function_exists(strtoull   HAVE_STRTOULL)
Packit 7838c8
check_function_exists(getopt     HAVE_GETOPT)
Packit 7838c8
check_function_exists(lfind      HAVE_LFIND)
Packit 7838c8
Packit 7838c8
# May be inlined, so check it compiles:
Packit 7838c8
check_c_source_compiles("
Packit 7838c8
#include <stdio.h>
Packit 7838c8
int main(void) {
Packit 7838c8
  char buf[10];
Packit 7838c8
  snprintf(buf, 10, \"Test %d\", 1);
Packit 7838c8
  return 0;
Packit 7838c8
}"
Packit 7838c8
  HAVE_SNPRINTF)
Packit 7838c8
Packit 7838c8
if(NOT HAVE_SNPRINTF)
Packit 7838c8
  add_definitions(-DNEED_LIBPORT)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# CPU bit order
Packit 7838c8
set(fillorder FILLORDER_MSB2LSB)
Packit 7838c8
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i.*86.*" OR
Packit 7838c8
   CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64.*" OR
Packit 7838c8
   CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64.*")
Packit 7838c8
  set(fillorder FILLORDER_LSB2MSB)
Packit 7838c8
endif()
Packit 7838c8
set(HOST_FILLORDER ${fillorder} CACHE STRING "Native CPU bit order")
Packit 7838c8
mark_as_advanced(HOST_FILLORDER)
Packit 7838c8
Packit 7838c8
# CPU endianness
Packit 7838c8
include(TestBigEndian)
Packit 7838c8
test_big_endian(bigendian)
Packit 7838c8
if (bigendian)
Packit 7838c8
  set(bigendian ON)
Packit 7838c8
else()
Packit 7838c8
  set(bigendian OFF)
Packit 7838c8
endif()
Packit 7838c8
set(HOST_BIG_ENDIAN ${bigendian} CACHE STRING "Native CPU bit order")
Packit 7838c8
mark_as_advanced(HOST_BIG_ENDIAN)
Packit 7838c8
if (HOST_BIG_ENDIAN)
Packit 7838c8
  set(HOST_BIG_ENDIAN 1)
Packit 7838c8
else()
Packit 7838c8
  set(HOST_BIG_ENDIAN 0)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# IEEE floating point
Packit 7838c8
set(HAVE_IEEEFP 1 CACHE STRING "IEEE floating point is available")
Packit 7838c8
mark_as_advanced(HAVE_IEEEFP)
Packit 7838c8
Packit 7838c8
report_values(CMAKE_HOST_SYSTEM_PROCESSOR HOST_FILLORDER
Packit 7838c8
              HOST_BIG_ENDIAN HAVE_IEEEFP)
Packit 7838c8
Packit 7838c8
# Large file support
Packit 7838c8
if (UNIX OR MINGW)
Packit 7838c8
  # This might not catch every possibility catered for by
Packit 7838c8
  # AC_SYS_LARGEFILE.
Packit 7838c8
  add_definitions(-D_FILE_OFFSET_BITS=64)
Packit 7838c8
  set(FILE_OFFSET_BITS 64)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# Documentation install directory (default to cmake project docdir)
Packit 7838c8
set(LIBTIFF_DOCDIR "${CMAKE_INSTALL_FULL_DOCDIR}")
Packit 7838c8
Packit 7838c8
# Options to enable and disable internal codecs
Packit 7838c8
Packit 7838c8
option(ccitt "support for CCITT Group 3 & 4 algorithms" ON)
Packit 7838c8
set(CCITT_SUPPORT ${ccitt})
Packit 7838c8
Packit 7838c8
option(packbits "support for Macintosh PackBits algorithm" ON)
Packit 7838c8
set(PACKBITS_SUPPORT ${packbits})
Packit 7838c8
Packit 7838c8
option(lzw "support for LZW algorithm" ON)
Packit 7838c8
set(LZW_SUPPORT ${lzw})
Packit 7838c8
Packit 7838c8
option(thunder "support for ThunderScan 4-bit RLE algorithm" ON)
Packit 7838c8
set(THUNDER_SUPPORT ${thunder})
Packit 7838c8
Packit 7838c8
option(next "support for NeXT 2-bit RLE algorithm" ON)
Packit 7838c8
set(NEXT_SUPPORT ${next})
Packit 7838c8
Packit 7838c8
option(logluv "support for LogLuv high dynamic range algorithm" ON)
Packit 7838c8
set(LOGLUV_SUPPORT ${logluv})
Packit 7838c8
Packit 7838c8
# Option for Microsoft Document Imaging
Packit 7838c8
option(mdi "support for Microsoft Document Imaging" ON)
Packit 7838c8
set(MDI_SUPPORT ${mdi})
Packit 7838c8
Packit 7838c8
# ZLIB
Packit 7838c8
option(zlib "use zlib (required for Deflate compression)" ON)
Packit 7838c8
if (zlib)
Packit 7838c8
  find_package(ZLIB)
Packit 7838c8
endif()
Packit 7838c8
set(ZLIB_SUPPORT 0)
Packit 7838c8
if(ZLIB_FOUND)
Packit 7838c8
  set(ZLIB_SUPPORT 1)
Packit 7838c8
endif()
Packit 7838c8
set(ZIP_SUPPORT ${ZLIB_SUPPORT})
Packit 7838c8
# Option for Pixar log-format algorithm
Packit 7838c8
Packit 7838c8
# Pixar log format
Packit 7838c8
option(pixarlog "support for Pixar log-format algorithm (requires Zlib)" ON)
Packit 7838c8
set(PIXARLOG_SUPPORT FALSE)
Packit 7838c8
if (ZLIB_SUPPORT)
Packit 7838c8
  if(pixarlog)
Packit 7838c8
    set(PIXARLOG_SUPPORT TRUE)
Packit 7838c8
  endif()
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# JPEG
Packit 7838c8
option(jpeg "use libjpeg (required for JPEG compression)" ON)
Packit 7838c8
if (jpeg)
Packit 7838c8
  find_package(JPEG)
Packit 7838c8
endif()
Packit 7838c8
set(JPEG_SUPPORT FALSE)
Packit 7838c8
if(JPEG_FOUND)
Packit 7838c8
  set(JPEG_SUPPORT TRUE)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
option(old-jpeg "support for Old JPEG compression (read-only)" ON)
Packit 7838c8
set(OJPEG_SUPPORT FALSE)
Packit 7838c8
if (JPEG_SUPPORT)
Packit 7838c8
  if (old-jpeg)
Packit 7838c8
    set(OJPEG_SUPPORT TRUE)
Packit 7838c8
  endif()
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# JBIG-KIT
Packit 7838c8
option(jbig "use ISO JBIG compression (requires JBIT-KIT library)" ON)
Packit 7838c8
if (jbig)
Packit 7838c8
  set(JBIG_FOUND 0)
Packit 7838c8
  find_path(JBIG_INCLUDE_DIR jbig.h)
Packit 7838c8
  set(JBIG_NAMES ${JBIG_NAMES} jbig libjbig)
Packit 7838c8
  find_library(JBIG_LIBRARY NAMES ${JBIG_NAMES})
Packit 7838c8
  if (JBIG_INCLUDE_DIR AND JBIG_LIBRARY)
Packit 7838c8
    set(JBIG_FOUND 1)
Packit 7838c8
    set(JBIG_LIBRARIES ${JBIG_LIBRARY})
Packit 7838c8
  endif()
Packit 7838c8
endif()
Packit 7838c8
set(JBIG_SUPPORT 0)
Packit 7838c8
if(JBIG_FOUND)
Packit 7838c8
  set(JBIG_FOUND TRUE)
Packit 7838c8
  set(JBIG_SUPPORT 1)
Packit 7838c8
else()
Packit 7838c8
  set(JBIG_FOUND FALSE)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
Packit 7838c8
set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
Packit 7838c8
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${JBIG_INCLUDE_DIR})
Packit 7838c8
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${JBIG_LIBRARY})
Packit 7838c8
check_function_exists(jbg_newlen HAVE_JBG_NEWLEN)
Packit 7838c8
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
Packit 7838c8
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
Packit 7838c8
Packit 7838c8
# liblzma2
Packit 7838c8
option(lzma "use liblzma (required for LZMA2 compression)" ON)
Packit 7838c8
if (lzma)
Packit 7838c8
  find_package(LibLZMA)
Packit 7838c8
endif()
Packit 7838c8
set(LZMA_SUPPORT 0)
Packit 7838c8
if(LIBLZMA_FOUND)
Packit 7838c8
  set(LZMA_SUPPORT 1)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# 8/12-bit jpeg mode
Packit 7838c8
option(jpeg12 "enable libjpeg 8/12-bit dual mode (requires separate
Packit 7838c8
12-bit libjpeg build)" ON)
Packit 7838c8
set(JPEG12_INCLUDE_DIR JPEG12_INCLUDE_DIR-NOTFOUND CACHE PATH "Include directory for 12-bit libjpeg")
Packit 7838c8
set(JPEG12_LIBRARY JPEG12_LIBRARY-NOTFOUND CACHE FILEPATH "12-bit libjpeg library")
Packit 7838c8
set(JPEG12_FOUND FALSE)
Packit 7838c8
if (JPEG12_INCLUDE_DIR AND JPEG12_LIBRARY)
Packit 7838c8
  set(JPEG12_LIBRARIES ${JPEG12_LIBRARY})
Packit 7838c8
  set(JPEG12_FOUND TRUE)
Packit 7838c8
endif()
Packit 7838c8
if (JPEG12_FOUND)
Packit 7838c8
  set(JPEG_DUAL_MODE_8_12 1)
Packit 7838c8
  set(LIBJPEG_12_PATH "${JPEG12_INCLUDE_DIR}/jpeglib.h")
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# C++ support
Packit 7838c8
option(cxx "Enable C++ stream API building (requires C++ compiler)" ON)
Packit 7838c8
set(CXX_SUPPORT FALSE)
Packit 7838c8
if (cxx)
Packit 7838c8
  enable_language(CXX)
Packit 7838c8
  set(CXX_SUPPORT TRUE)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# OpenGL and GLUT
Packit 7838c8
find_package(OpenGL)
Packit 7838c8
find_package(GLUT)
Packit 7838c8
set(HAVE_OPENGL FALSE)
Packit 7838c8
if(OPENGL_FOUND AND OPENGL_GLU_FOUND AND GLUT_FOUND)
Packit 7838c8
  set(HAVE_OPENGL TRUE)
Packit 7838c8
endif()
Packit 7838c8
# Purely to satisfy the generated headers:
Packit 7838c8
check_include_file(GL/gl.h HAVE_GL_GL_H)
Packit 7838c8
check_include_file(GL/glu.h HAVE_GL_GLU_H)
Packit 7838c8
check_include_file(GL/glut.h HAVE_GL_GLUT_H)
Packit 7838c8
check_include_file(GLUT/glut.h HAVE_GLUT_GLUT_H)
Packit 7838c8
check_include_file(OpenGL/gl.h HAVE_OPENGL_GL_H)
Packit 7838c8
check_include_file(OpenGL/glu.h HAVE_OPENGL_GLU_H)
Packit 7838c8
Packit 7838c8
# Win32 IO
Packit 7838c8
set(win32_io FALSE)
Packit 7838c8
if(WIN32)
Packit 7838c8
  set(win32_io TRUE)
Packit 7838c8
endif()
Packit 7838c8
set(USE_WIN32_FILEIO ${win32_io} CACHE BOOL "Use win32 IO system (Microsoft Windows only)")
Packit 7838c8
if (USE_WIN32_FILEIO)
Packit 7838c8
  set(USE_WIN32_FILEIO TRUE)
Packit 7838c8
else()
Packit 7838c8
  set(USE_WIN32_FILEIO FALSE)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# Orthogonal features
Packit 7838c8
Packit 7838c8
# Strip chopping
Packit 7838c8
option(strip-chopping "strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of specified size to reduce memory usage)" ON)
Packit 7838c8
set(TIFF_DEFAULT_STRIP_SIZE 8192 CACHE STRING "default size of the strip in bytes (when strip chopping is enabled)")
Packit 7838c8
Packit 7838c8
set(STRIPCHOP_DEFAULT)
Packit 7838c8
if(strip-chopping)
Packit 7838c8
  set(STRIPCHOP_DEFAULT TRUE)
Packit 7838c8
  if(TIFF_DEFAULT_STRIP_SIZE)
Packit 7838c8
    set(STRIP_SIZE_DEFAULT "${TIFF_DEFAULT_STRIP_SIZE}")
Packit 7838c8
  endif()
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# Defer loading of strip/tile offsets
Packit 7838c8
option(defer-strile-load "enable deferred strip/tile offset/size loading (experimental)" OFF)
Packit 7838c8
set(DEFER_STRILE_LOAD ${defer-strile-load})
Packit 7838c8
Packit 7838c8
# CHUNKY_STRIP_READ_SUPPORT
Packit 7838c8
option(chunky-strip-read "enable reading large strips in chunks for TIFFReadScanline() (experimental)" OFF)
Packit 7838c8
set(CHUNKY_STRIP_READ_SUPPORT ${chunky-strip-read})
Packit 7838c8
Packit 7838c8
# SUBIFD support
Packit 7838c8
set(SUBIFD_SUPPORT 1)
Packit 7838c8
Packit 7838c8
# Default handling of ASSOCALPHA support.
Packit 7838c8
option(extrasample-as-alpha "the RGBA interface will treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA files but don't mark the alpha properly" ON)
Packit 7838c8
if(extrasample-as-alpha)
Packit 7838c8
  set(DEFAULT_EXTRASAMPLE_AS_ALPHA 1)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# Default handling of YCbCr subsampling support.
Packit 7838c8
# See Bug 168 in Bugzilla, and JPEGFixupTestSubsampling() for details.
Packit 7838c8
option(check-ycbcr-subsampling "enable picking up YCbCr subsampling info from the JPEG data stream to support files lacking the tag" ON)
Packit 7838c8
if (check-ycbcr-subsampling)
Packit 7838c8
  set(CHECK_JPEG_YCBCR_SUBSAMPLING 1)
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# Generate pkg-config file
Packit 7838c8
set(prefix "${CMAKE_INSTALL_PREFIX}")
Packit 7838c8
set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
Packit 7838c8
set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
Packit 7838c8
set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
Packit 7838c8
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libtiff-4.pc.in
Packit 7838c8
               ${CMAKE_CURRENT_BINARY_DIR}/libtiff-4.pc)
Packit 7838c8
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libtiff-4.pc
Packit 7838c8
        DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig")
Packit 7838c8
Packit 7838c8
# Includes used by libtiff (and tests)
Packit 7838c8
if(ZLIB_INCLUDE_DIRS)
Packit 7838c8
  list(APPEND TIFF_INCLUDES ${ZLIB_INCLUDE_DIRS})
Packit 7838c8
endif()
Packit 7838c8
if(JPEG_INCLUDE_DIR)
Packit 7838c8
  list(APPEND TIFF_INCLUDES ${JPEG_INCLUDE_DIR})
Packit 7838c8
endif()
Packit 7838c8
if(JPEG12_INCLUDE_DIR)
Packit 7838c8
  list(APPEND TIFF_INCLUDES ${JPEG12_INCLUDE_DIR})
Packit 7838c8
endif()
Packit 7838c8
if(JBIG_INCLUDE_DIR)
Packit 7838c8
  list(APPEND TIFF_INCLUDES ${JBIG_INCLUDE_DIR})
Packit 7838c8
endif()
Packit 7838c8
if(LIBLZMA_INCLUDE_DIRS)
Packit 7838c8
  list(APPEND TIFF_INCLUDES ${LIBLZMA_INCLUDE_DIRS})
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
# Libraries required by libtiff
Packit 7838c8
set(TIFF_LIBRARY_DEPS)
Packit 7838c8
if(M_LIBRARY)
Packit 7838c8
  list(APPEND TIFF_LIBRARY_DEPS ${M_LIBRARY})
Packit 7838c8
endif()
Packit 7838c8
if(ZLIB_LIBRARIES)
Packit 7838c8
  list(APPEND TIFF_LIBRARY_DEPS ${ZLIB_LIBRARIES})
Packit 7838c8
endif()
Packit 7838c8
if(JPEG_LIBRARIES)
Packit 7838c8
  list(APPEND TIFF_LIBRARY_DEPS ${JPEG_LIBRARIES})
Packit 7838c8
endif()
Packit 7838c8
if(JPEG12_LIBRARIES)
Packit 7838c8
  list(APPEND TIFF_LIBRARY_DEPS ${JPEG12_LIBRARIES})
Packit 7838c8
endif()
Packit 7838c8
if(JBIG_LIBRARIES)
Packit 7838c8
  list(APPEND TIFF_LIBRARY_DEPS ${JBIG_LIBRARIES})
Packit 7838c8
endif()
Packit 7838c8
if(LIBLZMA_LIBRARIES)
Packit 7838c8
  list(APPEND TIFF_LIBRARY_DEPS ${LIBLZMA_LIBRARIES})
Packit 7838c8
endif()
Packit 7838c8
Packit 7838c8
#report_values(TIFF_INCLUDES TIFF_LIBRARY_DEPS)
Packit 7838c8
Packit 7838c8
# Process subdirectories
Packit 7838c8
add_subdirectory(port)
Packit 7838c8
add_subdirectory(libtiff)
Packit 7838c8
add_subdirectory(tools)
Packit 7838c8
add_subdirectory(test)
Packit 7838c8
add_subdirectory(contrib)
Packit 7838c8
add_subdirectory(build)
Packit 7838c8
add_subdirectory(man)
Packit 7838c8
add_subdirectory(html)
Packit 7838c8
Packit 7838c8
#message(STATUS "EXTRA_DIST: ${EXTRA_DIST}")
Packit 7838c8
Packit 7838c8
message(STATUS "")
Packit 7838c8
message(STATUS "Libtiff is now configured for ${host}")
Packit 7838c8
message(STATUS "")
Packit 7838c8
message(STATUS "  Installation directory:             ${prefix}")
Packit 7838c8
message(STATUS "  Documentation directory:            ${LIBTIFF_DOCDIR}")
Packit 7838c8
message(STATUS "  C compiler:                         ${CMAKE_C_COMPILER}")
Packit 7838c8
message(STATUS "  C++ compiler:                       ${CMAKE_CXX_COMPILER}")
Packit 7838c8
message(STATUS "  Build shared libraries:             ${BUILD_SHARED_LIBS}")
Packit 7838c8
message(STATUS "  Enable linker symbol versioning:    ${HAVE_LD_VERSION_SCRIPT}")
Packit 7838c8
message(STATUS "  Support Microsoft Document Imaging: ${mdi}")
Packit 7838c8
message(STATUS "  Use win32 IO:                       ${USE_WIN32_FILEIO}")
Packit 7838c8
message(STATUS "")
Packit 7838c8
message(STATUS " Support for internal codecs:")
Packit 7838c8
message(STATUS "  CCITT Group 3 & 4 algorithms:       ${ccitt}")
Packit 7838c8
message(STATUS "  Macintosh PackBits algorithm:       ${packbits}")
Packit 7838c8
message(STATUS "  LZW algorithm:                      ${lzw}")
Packit 7838c8
message(STATUS "  ThunderScan 4-bit RLE algorithm:    ${thunder}")
Packit 7838c8
message(STATUS "  NeXT 2-bit RLE algorithm:           ${next}")
Packit 7838c8
message(STATUS "  LogLuv high dynamic range encoding: ${logluv}")
Packit 7838c8
message(STATUS "")
Packit 7838c8
message(STATUS " Support for external codecs:")
Packit 7838c8
message(STATUS "  ZLIB support:                       ${zlib} (requested) ${ZLIB_FOUND} (availability)")
Packit 7838c8
message(STATUS "  Pixar log-format algorithm:         ${pixarlog} (requested) ${PIXARLOG_SUPPORT} (availability)")
Packit 7838c8
message(STATUS "  JPEG support:                       ${jpeg} (requested) ${JPEG_FOUND} (availability)")
Packit 7838c8
message(STATUS "  Old JPEG support:                   ${old-jpeg} (requested) ${JPEG_FOUND} (availability)")
Packit 7838c8
message(STATUS "  JPEG 8/12 bit dual mode:            ${jpeg12} (requested) ${JPEG12_FOUND} (availability)")
Packit 7838c8
message(STATUS "  ISO JBIG support:                   ${jbig} (requested) ${JBIG_FOUND} (availability)")
Packit 7838c8
message(STATUS "  LZMA2 support:                      ${lzma} (requested) ${LIBLZMA_FOUND} (availability)")
Packit 7838c8
message(STATUS "")
Packit 7838c8
message(STATUS "  C++ support:                        ${cxx} (requested) ${CXX_SUPPORT} (availability)")
Packit 7838c8
message(STATUS "")
Packit 7838c8
# message(STATUS "  X Athena Widgets support:           ${HAVE_XAW}")
Packit 7838c8
message(STATUS "  OpenGL support:                     ${HAVE_OPENGL}")
Packit 7838c8
message(STATUS "")