# --- dependencies ---

# --- variables ---
SET( OY_MODULE_NAME "_cmm_module" )

# --- normal modules ---
IF( LCMS_FOUND )
  SET( OY_MODULE lcms )
  SET( OY_MODULE_LIB ${PACKAGE_NAME}_${OY_MODULE}${OY_MODULE_NAME} )
  ADD_LIBRARY( ${OY_MODULE_LIB}
               SHARED ${PACKAGE_NAME}_cmm_${OY_MODULE}.c )
  TARGET_LINK_LIBRARIES ( ${OY_MODULE_LIB} oyranos ${EXTRA_LIBS} ${LCMS_LIBRARIES} )
  INSTALL (TARGETS ${OY_MODULE_LIB} DESTINATION lib${LIB_SUFFIX}/${OY_CMMSUBPATH})
ENDIF()

IF( LCMS2_FOUND )
  SET( OY_MODULE lcm2 )
  SET( OY_MODULE_LIB ${PACKAGE_NAME}_${OY_MODULE}${OY_MODULE_NAME} )
  ADD_LIBRARY( ${OY_MODULE_LIB}
               SHARED ${PACKAGE_NAME}_cmm_${OY_MODULE}.c )
  TARGET_LINK_LIBRARIES ( ${OY_MODULE_LIB} oyranos ${EXTRA_LIBS} ${LCMS2_LIBRARIES} )
  INSTALL (TARGETS ${OY_MODULE_LIB} DESTINATION lib${LIB_SUFFIX}/${OY_CMMSUBPATH})
ENDIF()


IF( HAVE_LIBRAW_PLUGIN )
  SET( OY_MODULE lraw )
  SET( OY_MODULE_LIB ${PACKAGE_NAME}_${OY_MODULE}${OY_MODULE_NAME} )
  ADD_LIBRARY( ${OY_MODULE_LIB}
               SHARED ${PACKAGE_NAME}_cmm_${OY_MODULE}.cpp )
  TARGET_LINK_LIBRARIES ( ${OY_MODULE_LIB} oyranos ${EXTRA_LIBS} ${LIBRAW_LIBRARIES} ${EXIF_LIBRARIES} )
  INSTALL (TARGETS ${OY_MODULE_LIB} DESTINATION lib${LIB_SUFFIX}/${OY_CMMSUBPATH})
ENDIF()


SET( OY_MODULE oicc )
SET( OY_MODULE_LIB ${PACKAGE_NAME}_${OY_MODULE}${OY_MODULE_NAME} )
ADD_LIBRARY( ${OY_MODULE_LIB}
             SHARED ${PACKAGE_NAME}_cmm_${OY_MODULE}.c )
TARGET_LINK_LIBRARIES ( ${OY_MODULE_LIB} oyranos ${EXTRA_LIBS} )
INSTALL (TARGETS ${OY_MODULE_LIB} DESTINATION lib${LIB_SUFFIX}/${OY_CMMSUBPATH})


IF( LIBPNG_FOUND )
  SET( OY_MODULE oPNG )
  SET( OY_MODULE_LIB ${PACKAGE_NAME}_${OY_MODULE}${OY_MODULE_NAME} )
  ADD_LIBRARY( ${OY_MODULE_LIB}
               SHARED ${PACKAGE_NAME}_cmm_${OY_MODULE}.c )
  TARGET_LINK_LIBRARIES ( ${OY_MODULE_LIB} oyranos ${EXTRA_LIBS} ${LIBPNG_LIBRARIES})
  INSTALL (TARGETS ${OY_MODULE_LIB} DESTINATION lib${LIB_SUFFIX}/${OY_CMMSUBPATH})
ENDIF()


SET( OY_MODULE oydi )
SET( OY_MODULE_LIB ${PACKAGE_NAME}_${OY_MODULE}${OY_MODULE_NAME} )
ADD_LIBRARY( ${OY_MODULE_LIB}
             SHARED ${PACKAGE_NAME}_cmm_${OY_MODULE}.c )
TARGET_LINK_LIBRARIES ( ${OY_MODULE_LIB} oyranos ${EXTRA_LIBS} ${XCM_LIBRARIES} ${XFIXES_LIBRARIES} )
INSTALL (TARGETS ${OY_MODULE_LIB} DESTINATION lib${LIB_SUFFIX}/${OY_CMMSUBPATH})

SET( OY_MODULE oyra )
SET( OY_MODULE_LIB ${PACKAGE_NAME}_${OY_MODULE}${OY_MODULE_NAME} )
ADD_LIBRARY( ${OY_MODULE_LIB}
             SHARED
             ${PACKAGE_NAME}_cmm_${OY_MODULE}.c
             ${PACKAGE_NAME}_cmm_${OY_MODULE}_image.c
             ${PACKAGE_NAME}_cmm_${OY_MODULE}_image_ppm.c
           )
TARGET_LINK_LIBRARIES ( ${OY_MODULE_LIB} oyranos ${EXTRA_LIBS} ${XCM_LIBRARIES} ${XFIXES_LIBRARIES} )
INSTALL (TARGETS ${OY_MODULE_LIB} DESTINATION lib${LIB_SUFFIX}/${OY_CMMSUBPATH})


# --- meta modules ---
SET( OY_MODULE oyIM )
SET( OY_MODULE_LIB ${PACKAGE_NAME}_${OY_MODULE}${OY_MODULE_NAME} )
ADD_LIBRARY( ${OY_MODULE_LIB}
             SHARED
             ${PACKAGE_NAME}_cmm_${OY_MODULE}.c
             ${PACKAGE_NAME}_cmm_${OY_MODULE}_meta_c.c
             ${PACKAGE_NAME}_cmm_${OY_MODULE}_profile.c)
#SET( EXTRA_LIBS ${EXTRA_LIBS} ${YAJL_LIBRARIES} )
TARGET_LINK_LIBRARIES ( ${OY_MODULE_LIB} oyranos ${EXTRA_LIBS} )
INSTALL (TARGETS ${OY_MODULE_LIB} DESTINATION lib${LIB_SUFFIX}/${OY_METASUBPATH})


ADD_SUBDIRECTORY (devices)
