Blame CMakeLists.txt

Packit 93f41a
#libmng-VERSION
Packit 93f41a
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
Packit 93f41a
#
Packit 93f41a
IF(COMMAND CMAKE_POLICY)
Packit 93f41a
  CMAKE_POLICY(SET CMP0003 NEW)
Packit 93f41a
ENDIF(COMMAND CMAKE_POLICY)
Packit 93f41a
#
Packit 93f41a
IF(NOT MNG_NAMESPACE)
Packit 93f41a
  SET(MNG_NAMESPACE "MNG")
Packit 93f41a
  SET(MNG_STANDALONE 1)
Packit 93f41a
ENDIF(NOT MNG_NAMESPACE)
Packit 93f41a
#
Packit 93f41a
STRING(TOLOWER ${MNG_NAMESPACE} MNG_LIBRARY_NAME)
Packit 93f41a
#
Packit 93f41a
project(${MNG_NAMESPACE} C)
Packit 93f41a
#
Packit 93f41a
INCLUDE(${CMAKE_SOURCE_DIR}/CMake/vers.cmake)
Packit 93f41a
#
Packit 93f41a
SET(MNG_VERSION
Packit 93f41a
  "${MNG_VERSION_MAJOR}.${MNG_VERSION_MINOR}.${MNG_VERSION_PATCH}")
Packit 93f41a
#
Packit 93f41a
SET(PACKAGE_VERSION
Packit 93f41a
  "${MNG_VERSION_MAJOR}.${MNG_VERSION_MINOR}.${MNG_VERSION_PATCH}")
Packit 93f41a
#
Packit 93f41a
SET(MNG_LIBRARY_PROPERTIES
Packit 93f41a
  VERSION   "${MNG_VERSION_MAJOR}.${MNG_VERSION_MINOR}.${MNG_VERSION_PATCH}"
Packit 93f41a
  SOVERSION "${MNG_VERSION_MAJOR}")
Packit 93f41a
#
Packit 93f41a
# Path to additional CMake modules
Packit 93f41a
SET(CMAKE_MODULE_PATH
Packit 93f41a
    ${CMAKE_SOURCE_DIR}/CMake
Packit 93f41a
    ${CMAKE_MODULE_PATH})
Packit 93f41a
FIND_PACKAGE(GZIP)
Packit 93f41a
FIND_PACKAGE(MAN)
Packit 93f41a
#
Packit 93f41a
STRING(TOLOWER ${PROJECT_NAME} projectname)
Packit 93f41a
SET(MNG_INSTALL_SUBDIR
Packit 93f41a
 "${projectname}-${MNG_VERSION_MAJOR}.${MNG_VERSION_MINOR}")
Packit 93f41a
#
Packit 93f41a
IF(MSVC)
Packit 93f41a
 ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
Packit 93f41a
ENDIF(MSVC)
Packit 93f41a
#
Packit 93f41a
IF(DEBUG_LIBMNG)
Packit 93f41a
 IF(UNIX)
Packit 93f41a
  SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wconversion -Wno-unused")
Packit 93f41a
 ENDIF(UNIX)
Packit 93f41a
ENDIF(DEBUG_LIBMNG)
Packit 93f41a
#
Packit 93f41a
IF(NOT MNG_INSTALL_BIN_DIR)
Packit 93f41a
 SET(MNG_INSTALL_BIN_DIR "bin")
Packit 93f41a
ENDIF(NOT MNG_INSTALL_BIN_DIR)
Packit 93f41a
#
Packit 93f41a
IF(NOT MNG_INSTALL_LIB_DIR)
Packit 93f41a
 IF(UNIX)
Packit 93f41a
  IF(CMAKE_SIZEOF_VOID_P EQUAL "8")
Packit 93f41a
   SET(MNG_INSTALL_LIB_DIR "lib64") 
Packit 93f41a
  ELSE(CMAKE_SIZEOF_VOID_P EQUAL "8")
Packit 93f41a
   SET(MNG_INSTALL_LIB_DIR "lib")
Packit 93f41a
  ENDIF(CMAKE_SIZEOF_VOID_P EQUAL "8")
Packit 93f41a
 ELSE(UNIX)
Packit 93f41a
  SET(MNG_INSTALL_LIB_DIR "lib")
Packit 93f41a
 ENDIF(UNIX)
Packit 93f41a
ENDIF(NOT MNG_INSTALL_LIB_DIR)
Packit 93f41a
#
Packit 93f41a
IF(NOT MNG_INSTALL_SHARE_DIR)
Packit 93f41a
 SET(MNG_INSTALL_SHARE_DIR "share")
Packit 93f41a
ENDIF(NOT MNG_INSTALL_SHARE_DIR)
Packit 93f41a
#
Packit 93f41a
IF(NOT MNG_INSTALL_DATA_DIR)
Packit 93f41a
 SET(MNG_INSTALL_DATA_DIR
Packit 93f41a
  "${MNG_INSTALL_SHARE_DIR}/${MNG_INSTALL_SUBDIR}")
Packit 93f41a
ENDIF(NOT MNG_INSTALL_DATA_DIR)
Packit 93f41a
#
Packit 93f41a
IF(NOT MNG_INSTALL_PKGCONFIG_DIR)
Packit 93f41a
 SET(MNG_INSTALL_PKGCONFIG_DIR
Packit 93f41a
  "${MNG_INSTALL_LIB_DIR}/pkgconfig")
Packit 93f41a
ENDIF(NOT MNG_INSTALL_PKGCONFIG_DIR)
Packit 93f41a
#
Packit 93f41a
IF(NOT MNG_INSTALL_INCLUDE_DIR)
Packit 93f41a
 SET(MNG_INSTALL_INCLUDE_DIR "include")
Packit 93f41a
ENDIF(NOT MNG_INSTALL_INCLUDE_DIR)
Packit 93f41a
#
Packit 93f41a
IF(NOT MNG_INSTALL_DOC_DIR)
Packit 93f41a
 SET(MNG_INSTALL_DOC_DIR "share/doc/${MNG_INSTALL_SUBDIR}")
Packit 93f41a
ENDIF(NOT MNG_INSTALL_DOC_DIR)
Packit 93f41a
#
Packit 93f41a
IF(NOT MNG_INSTALL_PACKAGE_DIR)
Packit 93f41a
 SET(MNG_INSTALL_PACKAGE_DIR
Packit 93f41a
  "${MNG_INSTALL_SHARE_DIR}/${MNG_INSTALL_SUBDIR}")
Packit 93f41a
ENDIF(NOT MNG_INSTALL_PACKAGE_DIR)
Packit 93f41a
#
Packit 93f41a
INCLUDE (${CMAKE_ROOT}/Modules/TestBigEndian.cmake)
Packit 93f41a
TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
Packit 93f41a
#
Packit 93f41a
IF(WORDS_BIGENDIAN)
Packit 93f41a
 SET(WORDS_BIGENDIAN_S "#define WORDS_BIGENDIAN 1")
Packit 93f41a
ELSE(WORDS_BIGENDIAN)
Packit 93f41a
 SET(WORDS_BIGENDIAN_S "/* #undef WORDS_BIGENDIAN */")
Packit 93f41a
ENDIF(WORDS_BIGENDIAN)
Packit 93f41a
#
Packit 93f41a
OPTION(BUILD_STATIC_LIBS
Packit 93f41a
 "Build MNG static library and link executables against it." ON)
Packit 93f41a
OPTION(BUILD_SHARED_LIBS
Packit 93f41a
 "Build MNG shared library and link executables against it." ON)
Packit 93f41a
#
Packit 93f41a
OPTION(BUILD_MAN
Packit 93f41a
 "Build MAN pages" OFF)
Packit 93f41a
#
Packit 93f41a
OPTION(WITH_LCMS2
Packit 93f41a
 "Build MNG library with liblcms version 2" ON)
Packit 93f41a
#
Packit 93f41a
OPTION(WITH_LCMS1
Packit 93f41a
 "Build MNG library with liblcms version 1" OFF)
Packit 93f41a
#
Packit 93f41a
OPTION(ENABLE_SUPPORT_FULL
Packit 93f41a
 "Enable full support for MNG library; no LC or VLC" ON)
Packit 93f41a
#
Packit 93f41a
OPTION(DISABLE_BUILD_SO
Packit 93f41a
 "Do not build MNG library with standard shared object" OFF)
Packit 93f41a
#
Packit 93f41a
OPTION(DISABLE_READ
Packit 93f41a
 "Disable read support for MNG library" OFF)
Packit 93f41a
#
Packit 93f41a
OPTION(DISABLE_WRITE
Packit 93f41a
 "Disable write support for MNG library" OFF)
Packit 93f41a
#
Packit 93f41a
OPTION(DISABLE_DISPLAY
Packit 93f41a
 "Disable image display support for MNG library" OFF)
Packit 93f41a
#
Packit 93f41a
OPTION(DISABLE_DYNAMIC
Packit 93f41a
 "Disable dynamic support for MNG library" OFF)
Packit 93f41a
#
Packit 93f41a
OPTION(DISABLE_CHUNKS
Packit 93f41a
 "Remove support in MNG library to access chunks" OFF)
Packit 93f41a
#
Packit 93f41a
OPTION(DISABLE_STORE_CHUNKS
Packit 93f41a
 "Disable support for accessing chunks that have been previously read" OFF)
Packit 93f41a
#
Packit 93f41a
OPTION(ENABLE_TRACE
Packit 93f41a
 "Enable support for debug tracing callbacks and messages" OFF)
Packit 93f41a
#
Packit 93f41a
OPTION(WITH_JPEG
Packit 93f41a
 "Enable JPEG support" ON)
Packit 93f41a
#
Packit 93f41a
FIND_PACKAGE(ZLIB REQUIRED)
Packit 93f41a
#
Packit 93f41a
IF(ZLIB_FOUND)
Packit 93f41a
 INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
Packit 93f41a
 SET(HAVE_LIBZ 1)
Packit 93f41a
ENDIF(ZLIB_FOUND)
Packit 93f41a
#
Packit 93f41a
#---------- local build output path for testing ---------
Packit 93f41a
SET(EXECUTABLE_OUTPUT_PATH
Packit 93f41a
 ${MNG_BINARY_DIR}/bin
Packit 93f41a
 CACHE PATH "Single output directory for building all executables.")
Packit 93f41a
#
Packit 93f41a
SET(LIBRARY_OUTPUT_PATH
Packit 93f41a
 ${MNG_BINARY_DIR}/bin
Packit 93f41a
 CACHE PATH "Single output directory for building all libraries.")
Packit 93f41a
MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)
Packit 93f41a
#
Packit 93f41a
#------------------ installation RPATH -------------------
Packit 93f41a
# use, i.e. don't skip the full RPATH for the build tree
Packit 93f41a
SET(CMAKE_SKIP_BUILD_RPATH  FALSE)
Packit 93f41a
#
Packit 93f41a
# when building, don't use the install RPATH already
Packit 93f41a
# (but later on when installing)
Packit 93f41a
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
Packit 93f41a
#
Packit 93f41a
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
Packit 93f41a
#
Packit 93f41a
# add the automatically determined parts of the RPATH
Packit 93f41a
# which point to directories outside the build tree to the install RPATH
Packit 93f41a
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
Packit 93f41a
#
Packit 93f41a
# the RPATH to be used when installing,
Packit 93f41a
# but only if it's not a system directory
Packit 93f41a
LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
Packit 93f41a
  "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
Packit 93f41a
IF("${isSystemDir}" STREQUAL "-1")
Packit 93f41a
   SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
Packit 93f41a
ENDIF("${isSystemDir}" STREQUAL "-1")
Packit 93f41a
#
Packit 93f41a
#----- 
Packit 93f41a
#
Packit 93f41a
INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
Packit 93f41a
CHECK_INCLUDE_FILE("strings.h"      HAVE_STRINGS_H)
Packit 93f41a
CHECK_INCLUDE_FILE("inttypes.h"     HAVE_INTTYPES_H)
Packit 93f41a
CHECK_INCLUDE_FILE("memory.h"       HAVE_MEMORY_H)
Packit 93f41a
CHECK_INCLUDE_FILE("stdint.h"       HAVE_STDINT_H)
Packit 93f41a
CHECK_INCLUDE_FILE("stdlib.h"       HAVE_STDLIB_H)
Packit 93f41a
CHECK_INCLUDE_FILE("string.h"       HAVE_STRING_H)
Packit 93f41a
CHECK_INCLUDE_FILE("sys/stat.h"     HAVE_SYS_STAT_H)
Packit 93f41a
CHECK_INCLUDE_FILE("sys/types.h"    HAVE_SYS_TYPES_H)
Packit 93f41a
CHECK_INCLUDE_FILE("unistd.h"       HAVE_UNISTD_H)
Packit 93f41a
CHECK_INCLUDE_FILE("stddef.h"       HAVE_STDDEF_H)
Packit 93f41a
CHECK_INCLUDE_FILE("io.h"           HAVE_IO_H)
Packit 93f41a
CHECK_INCLUDE_FILE("fcntl.h"        HAVE_FCNTL_H)
Packit 93f41a
CHECK_INCLUDE_FILE("assert.h"       HAVE_ASSERT_H)
Packit 93f41a
CHECK_INCLUDE_FILE("limits.h"       HAVE_LIMITS_H)
Packit 93f41a
CHECK_INCLUDE_FILE("math.h"         HAVE_LIBM)
Packit 93f41a
CHECK_INCLUDE_FILE("malloc.h"       HAVE_MALLOC_H)
Packit 93f41a
CHECK_INCLUDE_FILE("search.h"       HAVE_SEARCH_H)
Packit 93f41a
CHECK_INCLUDE_FILE("sys/time.h"     HAVE_SYS_TIME_H)
Packit 93f41a
CHECK_INCLUDE_FILE("windows.h"      HAVE_WINDOWS_H)
Packit 93f41a
CHECK_INCLUDE_FILE("dlfcn.h"        HAVE_DLFCN_H)
Packit 93f41a
#
Packit 93f41a
IF(NOT HAVE_LIBM)
Packit 93f41a
 MESSAGE(FATAL_ERROR "pow() REQUIRED: not found. Quitting.")
Packit 93f41a
ENDIF(NOT HAVE_LIBM)
Packit 93f41a
#
Packit 93f41a
FIND_PACKAGE(JPEG)
Packit 93f41a
#
Packit 93f41a
IF(JPEG_FOUND)
Packit 93f41a
 INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
Packit 93f41a
 SET(HAVE_LIBJPEG 1)
Packit 93f41a
ENDIF(JPEG_FOUND)
Packit 93f41a
#
Packit 93f41a
IF(WITH_LCMS2)
Packit 93f41a
 FIND_PACKAGE(LCMS2)
Packit 93f41a
Packit 93f41a
 IF(LCMS2_FOUND)
Packit 93f41a
  INCLUDE_DIRECTORIES(${LCMS2_INCLUDE_DIR})
Packit 93f41a
  SET(HAVE_LIBLCMS2 1)
Packit 93f41a
  SET(MNG_FULL_CMS 1)
Packit 93f41a
 ENDIF(LCMS2_FOUND)
Packit 93f41a
Packit 93f41a
ENDIF(WITH_LCMS2)
Packit 93f41a
#
Packit 93f41a
IF(WITH_LCMS1)
Packit 93f41a
Packit 93f41a
 FIND_PACKAGE(LCMS1)
Packit 93f41a
Packit 93f41a
 IF(LCMS1_FOUND)
Packit 93f41a
  INCLUDE_DIRECTORIES(${LCMS1_INCLUDE_DIR})
Packit 93f41a
  SET(HAVE_LIBLCMS1 1)
Packit 93f41a
  SET(MNG_FULL_CMS 1)
Packit 93f41a
 ENDIF(LCMS1_FOUND)
Packit 93f41a
Packit 93f41a
ENDIF(WITH_LCMS1)
Packit 93f41a
#
Packit 93f41a
IF(ENABLE_SUPPORT_FULL)
Packit 93f41a
 SET(MNG_SUPPORT_FULL 1)
Packit 93f41a
ENDIF(ENABLE_SUPPORT_FULL)
Packit 93f41a
#
Packit 93f41a
IF(NOT DISABLE_BUILD_SO)
Packit 93f41a
 SET(MNG_BUILD_SO 1)
Packit 93f41a
ENDIF(NOT DISABLE_BUILD_SO)
Packit 93f41a
#
Packit 93f41a
IF(NOT DISABLE_READ)
Packit 93f41a
 SET(MNG_SUPPORT_READ 1)
Packit 93f41a
ENDIF(NOT DISABLE_READ)
Packit 93f41a
#
Packit 93f41a
IF(NOT DISABLE_WRITE)
Packit 93f41a
 SET(MNG_SUPPORT_WRITE 1)
Packit 93f41a
ENDIF(NOT DISABLE_WRITE)
Packit 93f41a
#
Packit 93f41a
IF(NOT DISABLE_DISPLAY)
Packit 93f41a
 SET(MNG_SUPPORT_DISPLAY 1)
Packit 93f41a
ENDIF(NOT DISABLE_DISPLAY)
Packit 93f41a
#
Packit 93f41a
IF(NOT DISABLE_DYNAMIC)
Packit 93f41a
 SET(MNG_SUPPORT_DYNAMICMNG 1)
Packit 93f41a
ENDIF(NOT DISABLE_DYNAMIC)
Packit 93f41a
#
Packit 93f41a
IF(NOT DISABLE_CHUNKS)
Packit 93f41a
 SET(MNG_ACCESS_CHUNKS 1)
Packit 93f41a
ENDIF(NOT DISABLE_CHUNKS)
Packit 93f41a
#
Packit 93f41a
IF(NOT DISABLE_STORE_CHUNKS)
Packit 93f41a
 SET(MNG_STORE_CHUNKS 1)
Packit 93f41a
ENDIF(NOT DISABLE_STORE_CHUNKS)
Packit 93f41a
#
Packit 93f41a
IF(ENABLE_TRACE)
Packit 93f41a
 SET(MNG_SUPPORT_TRACE 1)
Packit 93f41a
 SET(MNG_TRACE_TELLTALE 1)
Packit 93f41a
ENDIF(ENABLE_TRACE)
Packit 93f41a
#
Packit 93f41a
SET(MNG_ERROR_TELLTALE 1)
Packit 93f41a
#
Packit 93f41a
#----------------- end of configuration ----------------------
Packit 93f41a
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/config.h.cmake.in"
Packit 93f41a
 "${CMAKE_BINARY_DIR}/config.h"
Packit 93f41a
 @ONLY
Packit 93f41a
 )
Packit 93f41a
#
Packit 93f41a
INCLUDE_DIRECTORIES(BEFORE ${MNG_BINARY_DIR})
Packit 93f41a
#
Packit 93f41a
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
Packit 93f41a
#
Packit 93f41a
FIND_PACKAGE(MAN)
Packit 93f41a
FIND_PACKAGE(GZIP)
Packit 93f41a
#
Packit 93f41a
ADD_SUBDIRECTORY(doc)
Packit 93f41a
#
Packit 93f41a
#---------------------------------------------------
Packit 93f41a
#
Packit 93f41a
SET(TARGET_FILES
Packit 93f41a
libmng.h
Packit 93f41a
libmng_chunk_descr.h
Packit 93f41a
libmng_chunk_io.h
Packit 93f41a
libmng_chunk_prc.h
Packit 93f41a
libmng_chunks.h
Packit 93f41a
libmng_cms.h
Packit 93f41a
libmng_conf.h
Packit 93f41a
libmng_data.h
Packit 93f41a
libmng_display.h
Packit 93f41a
libmng_dither.h
Packit 93f41a
libmng_error.h
Packit 93f41a
libmng_filter.h
Packit 93f41a
libmng_jpeg.h
Packit 93f41a
libmng_memory.h
Packit 93f41a
libmng_object_prc.h
Packit 93f41a
libmng_objects.h
Packit 93f41a
libmng_pixels.h
Packit 93f41a
libmng_read.h
Packit 93f41a
libmng_trace.h
Packit 93f41a
libmng_types.h
Packit 93f41a
libmng_write.h
Packit 93f41a
libmng_zlib.h
Packit 93f41a
libmng_callback_xs.c
Packit 93f41a
libmng_chunk_descr.c
Packit 93f41a
libmng_chunk_io.c
Packit 93f41a
libmng_chunk_prc.c
Packit 93f41a
libmng_chunk_xs.c
Packit 93f41a
libmng_cms.c
Packit 93f41a
libmng_display.c
Packit 93f41a
libmng_dither.c
Packit 93f41a
libmng_error.c
Packit 93f41a
libmng_filter.c
Packit 93f41a
libmng_hlapi.c
Packit 93f41a
libmng_jpeg.c
Packit 93f41a
libmng_object_prc.c
Packit 93f41a
libmng_pixels.c
Packit 93f41a
libmng_prop_xs.c
Packit 93f41a
libmng_read.c
Packit 93f41a
libmng_trace.c
Packit 93f41a
libmng_write.c
Packit 93f41a
libmng_zlib.c
Packit 93f41a
)
Packit 93f41a
#
Packit 93f41a
#------------------ STATIC ---------------------
Packit 93f41a
IF(BUILD_STATIC_LIBS)
Packit 93f41a
 ADD_LIBRARY(${MNG_LIBRARY_NAME} STATIC
Packit 93f41a
  ${TARGET_FILES})
Packit 93f41a
 #
Packit 93f41a
 IF(JPEG_FOUND)
Packit 93f41a
  TARGET_LINK_LIBRARIES(${MNG_LIBRARY_NAME} ${JPEG_LIBRARY})
Packit 93f41a
 ENDIF(JPEG_FOUND)
Packit 93f41a
 #
Packit 93f41a
 IF(ZLIB_FOUND)
Packit 93f41a
  TARGET_LINK_LIBRARIES(${MNG_LIBRARY_NAME} ${ZLIB_LIBRARY})
Packit 93f41a
 ENDIF(ZLIB_FOUND)
Packit 93f41a
 #
Packit 93f41a
 IF(LCMS2_FOUND)
Packit 93f41a
  TARGET_LINK_LIBRARIES(${MNG_LIBRARY_NAME} ${LCMS2_LIBRARY})
Packit 93f41a
 ENDIF(LCMS2_FOUND)
Packit 93f41a
 #
Packit 93f41a
 IF(LCMS1_FOUND)
Packit 93f41a
  TARGET_LINK_LIBRARIES(${MNG_LIBRARY_NAME} ${LCMS1_LIBRARY})
Packit 93f41a
 ENDIF(LCMS1_FOUND)
Packit 93f41a
 #
Packit 93f41a
 IF(UNIX)
Packit 93f41a
  TARGET_LINK_LIBRARIES(${MNG_LIBRARY_NAME} m)
Packit 93f41a
 ENDIF(UNIX)
Packit 93f41a
 #
Packit 93f41a
 IF(MSVC)
Packit 93f41a
   SET_TARGET_PROPERTIES(${MNG_LIBRARY_NAME}
Packit 93f41a
    PROPERTIES PREFIX "lib")
Packit 93f41a
 ENDIF(MSVC)
Packit 93f41a
 #
Packit 93f41a
 SET_TARGET_PROPERTIES(${MNG_LIBRARY_NAME} 
Packit 93f41a
  PROPERTIES LINKER_LANGUAGE C)
Packit 93f41a
 #
Packit 93f41a
 #
Packit 93f41a
 INSTALL(TARGETS ${MNG_LIBRARY_NAME}
Packit 93f41a
   EXPORT MNG_TARGETS
Packit 93f41a
   RUNTIME DESTINATION ${MNG_INSTALL_BIN_DIR} COMPONENT Applications
Packit 93f41a
   LIBRARY DESTINATION ${MNG_INSTALL_LIB_DIR} COMPONENT Libraries
Packit 93f41a
   ARCHIVE DESTINATION ${MNG_INSTALL_LIB_DIR} COMPONENT Libraries
Packit 93f41a
 )
Packit 93f41a
ENDIF(BUILD_STATIC_LIBS)
Packit 93f41a
#---------------- SHARED -------------
Packit 93f41a
IF(BUILD_SHARED_LIBS)
Packit 93f41a
Packit 93f41a
 IF(WIN32)
Packit 93f41a
#-DMNG_BUILD_DLL or -DMNG_DLL or  -DMNG_USE_DLL : cnf. libmng_types.h
Packit 93f41a
  ADD_DEFINITIONS(-DMNG_BUILD_DLL)
Packit 93f41a
 ENDIF(WIN32)
Packit 93f41a
Packit 93f41a
 ADD_LIBRARY(${MNG_LIBRARY_NAME}-shared 
Packit 93f41a
  ${TARGET_FILES} )
Packit 93f41a
#
Packit 93f41a
 IF(JPEG_FOUND)
Packit 93f41a
  TARGET_LINK_LIBRARIES(${MNG_LIBRARY_NAME}-shared ${JPEG_LIBRARY})
Packit 93f41a
 ENDIF(JPEG_FOUND)
Packit 93f41a
#
Packit 93f41a
 IF(ZLIB_FOUND)
Packit 93f41a
  TARGET_LINK_LIBRARIES(${MNG_LIBRARY_NAME}-shared ${ZLIB_LIBRARY})
Packit 93f41a
 ENDIF(ZLIB_FOUND)
Packit 93f41a
#
Packit 93f41a
 IF(LCMS2_FOUND)
Packit 93f41a
  TARGET_LINK_LIBRARIES(${MNG_LIBRARY_NAME}-shared ${LCMS2_LIBRARY})
Packit 93f41a
 ENDIF(LCMS2_FOUND)
Packit 93f41a
#
Packit 93f41a
 IF(LCMS1_FOUND)
Packit 93f41a
  TARGET_LINK_LIBRARIES(${MNG_LIBRARY_NAME}-shared ${LCMS1_LIBRARY})
Packit 93f41a
 ENDIF(LCMS1_FOUND)
Packit 93f41a
#
Packit 93f41a
 IF(UNIX)
Packit 93f41a
  TARGET_LINK_LIBRARIES(${MNG_LIBRARY_NAME}-shared m)
Packit 93f41a
 ENDIF(UNIX)
Packit 93f41a
#
Packit 93f41a
 IF(MSVC)
Packit 93f41a
  SET_TARGET_PROPERTIES(${MNG_LIBRARY_NAME}-shared
Packit 93f41a
   PROPERTIES PREFIX "lib")
Packit 93f41a
 ENDIF(MSVC)
Packit 93f41a
#
Packit 93f41a
 SET_TARGET_PROPERTIES(${MNG_LIBRARY_NAME}-shared
Packit 93f41a
  PROPERTIES LINKER_LANGUAGE C)
Packit 93f41a
#
Packit 93f41a
 SET_TARGET_PROPERTIES(${MNG_LIBRARY_NAME}-shared
Packit 93f41a
  PROPERTIES
Packit 93f41a
  OUTPUT_NAME ${MNG_LIBRARY_NAME}
Packit 93f41a
  ${MNG_LIBRARY_PROPERTIES} )
Packit 93f41a
#
Packit 93f41a
 INSTALL(TARGETS ${MNG_LIBRARY_NAME}-shared
Packit 93f41a
   EXPORT MNG_TARGETS
Packit 93f41a
   RUNTIME DESTINATION ${MNG_INSTALL_BIN_DIR} COMPONENT Applications
Packit 93f41a
   LIBRARY DESTINATION ${MNG_INSTALL_LIB_DIR} COMPONENT Libraries
Packit 93f41a
   ARCHIVE DESTINATION ${MNG_INSTALL_LIB_DIR} COMPONENT Libraries
Packit 93f41a
 )
Packit 93f41a
#
Packit 93f41a
ENDIF(BUILD_SHARED_LIBS)
Packit 93f41a
#------------ libmng.pc ---------------
Packit 93f41a
IF(UNIX)
Packit 93f41a
 SET(MNG_LIBS_PRIVATE "")
Packit 93f41a
 IF(JPEG_FOUND)
Packit 93f41a
  SET(MNG_LIBS_PRIVATE "${MNG_LIBS_PRIVATE} -ljpeg")
Packit 93f41a
 ENDIF(JPEG_FOUND)
Packit 93f41a
 IF(ZLIB_FOUND)
Packit 93f41a
  SET(MNG_LIBS_PRIVATE "${MNG_LIBS_PRIVATE} -lz")
Packit 93f41a
 ENDIF(ZLIB_FOUND)
Packit 93f41a
 IF(LCMS2_FOUND)
Packit 93f41a
  SET(MNG_LIBS_PRIVATE "${MNG_LIBS_PRIVATE} -llcms2")
Packit 93f41a
 ENDIF(LCMS2_FOUND)
Packit 93f41a
 IF(LCMS1_FOUND)
Packit 93f41a
  SET(MNG_LIBS_PRIVATE "${MNG_LIBS_PRIVATE} -llcms")
Packit 93f41a
 ENDIF(LCMS1_FOUND)
Packit 93f41a
#
Packit 93f41a
 SET(MNG_LIBS_PRIVATE "${MNG_LIBS_PRIVATE} -lm")
Packit 93f41a
#
Packit 93f41a
 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/CMake/libmng.pc.cmake
Packit 93f41a
    ${CMAKE_CURRENT_BINARY_DIR}/libmng.pc @ONLY)
Packit 93f41a
 INSTALL(FILES  ${CMAKE_CURRENT_BINARY_DIR}/libmng.pc DESTINATION
Packit 93f41a
    ${MNG_INSTALL_PKGCONFIG_DIR} )
Packit 93f41a
Packit 93f41a
ENDIF(UNIX)
Packit 93f41a
#
Packit 93f41a
INSTALL(EXPORT MNG_TARGETS DESTINATION ${MNG_INSTALL_PACKAGE_DIR})
Packit 93f41a
#
Packit 93f41a
INSTALL(FILES libmng.h libmng_conf.h libmng_types.h
Packit 93f41a
  DESTINATION ${MNG_INSTALL_INCLUDE_DIR} COMPONENT Headers
Packit 93f41a
)
Packit 93f41a
INSTALL(FILES 
Packit 93f41a
 README README.config README.dll README.footprint README.autoconf
Packit 93f41a
 README.contrib README.examples README.packaging CHANGES LICENSE
Packit 93f41a
 DESTINATION ${MNG_INSTALL_DOC_DIR} )
Packit 93f41a
#--- fin