# add_subdirectory(tests)

include_directories( ${LLVM_INCLUDE_DIR} )

## GTLImageIO library ##

set(GTLImageIO_SRCS
    ImageDC.cpp
    ImageDCRegistry.cpp
    Version.cpp )

add_definitions( -D_GTLIMAGEIO_EXTENSIONS_INSTALL_DIR_="${GTLIMAGEIO_EXTENSIONS_INSTALL_DIR}" )

add_library(GTLImageIO SHARED ${GTLImageIO_SRCS} )
target_link_libraries(GTLImageIO GTLCore )

# __STDC_LIMIT_MACROS is needed by LLVM's DataTypes.h
add_definitions( "-D__STDC_LIMIT_MACROS" )
add_definitions( "-D__STDC_CONSTANT_MACROS" )
add_definitions( -DCOUMPONENT_NAME="GTLImageIO" )

if(OPENGTL_BUILD_TESTS)
add_definitions( -D_GTLIMAGEIO_EXTENSIONS_PNG_DIR_="${CMAKE_BINARY_DIR}/Extensions/PngDC" )
add_definitions( -D_GTLIMAGEIO_EXTENSIONS_RAW_DIR_="${CMAKE_BINARY_DIR}/Extensions/RawDC" )
endif(OPENGTL_BUILD_TESTS)

# Set the ABI version of the library
set_target_properties(GTLImageIO PROPERTIES VERSION ${OPENGTL_LIB_VERSION} SOVERSION ${OPENGTL_LIB_SOVERSION} )

# Install target
install(TARGETS GTLImageIO ${INSTALL_TARGETS_DEFAULT_ARGS} )
install( FILES
  Export.h
  ImageDC.h
  ImageDCRegistry.h
  DESTINATION ${INCLUDE_INSTALL_DIR}/GTLImageIO )

# Create and install pc file
configure_file("GTLImageIO.pc.cmake" "${CMAKE_CURRENT_BINARY_DIR}/GTLImageIO.pc" @ONLY)

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/GTLImageIO.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)  
