# some configure checks:
if(WIN32)
    if(MSVC)
        set(UINT8_T "unsigned char")
        set(UINT16_T "unsigned short")
        set(UINT32_T "unsigned long")
        set(INT8_T "char")
        set(INT16_T "short")
        set(INT32_T "long")
    else(MSVC)
        set(UINT8_T "uint8_t")
        set(UINT16_T "uint16_t")
        set(UINT32_T "uint32_t")
        set(INT8_T "int8_t")
        set(INT16_T "int16_t")
        set(INT32_T "int32_t")
    endif(MSVC)
    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../include/icc34.h.in ${CMAKE_BINARY_DIR}/icc34.h)
endif(WIN32)

set(lcms_SRCS
  cmscnvrt.c 
  cmserr.c 
  cmsgamma.c 
  cmsgmt.c 
  cmsintrp.c 
  cmsio0.c 
  cmsio1.c 
  cmslut.c
  cmsmatsh.c
  cmsmtrx.c
  cmspack.c
  cmspcs.c
  cmswtpnt.c
  cmsxform.c
  cmssamp.c
  cmscam97.c
  cmsnamed.c
  cmsps2.c
  cmscam02.c
  cmsvirt.c
  cmscgats.c
)

if(WIN32)
#    set(lcms_SRCS ${lcms_SRCS} lcms.def)
    add_definitions(-DLCMS_DLL)
    include_directories(${CMAKE_BINARY_DIR})
endif(WIN32)

add_library(lcms SHARED ${lcms_SRCS})
set_target_properties(lcms PROPERTIES OUTPUT_NAME "lcms-1"
                                      DEFINE_SYMBOL LCMS_DLL_BUILD)

install(TARGETS lcms RUNTIME DESTINATION bin
                     LIBRARY DESTINATION lib
                     ARCHIVE DESTINATION lib)

install(FILES ../include/lcms.h DESTINATION include)
if(NOT WIN32)
    install(FILES ../include/icc34.h DESTINATION include)
else(NOT WIN32)
    install(FILES ${CMAKE_BINARY_DIR}/icc34.h DESTINATION include)
endif(NOT WIN32)
