#################################################
#
#  (C) 2017 Slávek Banko
#  slavek (DOT) banko (AT) axis.cz
#
#  Improvements and feedback are welcome
#
#  This file is released under GPL >= 2
#
#################################################

include_directories(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_SOURCE_DIR}/mpeglib/lib
  ${CMAKE_BINARY_DIR}/mpeglib/lib
  ${CMAKE_BINARY_DIR}
  ${ARTS_INCLUDE_DIRS}
  ${ARTSC_INCLUDE_DIRS}
  ${TQT_INCLUDE_DIRS}
  ${TDE_INCLUDE_DIR}
  ${CDPARANOIA_INCLUDE_DIR}
)

link_directories(
  ${TQT_LIBRARY_DIRS}
  ${ARTS_LIBRARY_DIRS}
)


##### arts_mpeglib (library) ####################

tde_add_library( arts_mpeglib SHARED
  SOURCES
    decoderBaseObject.cpp
    splayPlayObject.cpp
    decoderBaseObject_impl.cpp
    oggPlayObject_impl.cpp
    mpgPlayObject_impl.cpp
    wavPlayObject_impl.cpp
    mp3PlayObject_impl.cpp
    cddaPlayObject_impl.cpp
    vcdPlayObject_impl.cpp
    nullPlayObject_impl.cpp
  RELEASE ${MPEGLIB_VERSION}
  VERSION ${MPEGLIB_SO_VERSION}
  LINK mpeg-shared ${ARTS_LIBRARIES}
  DESTINATION ${LIB_INSTALL_DIR}
)

add_custom_command(
  OUTPUT
    decoderBaseObject.cpp decoderBaseObject.h
  COMMAND ${ARTS_MCOPIDL_EXECUTABLE}
    -I${ARTS_INCLUDEDIR} ${CMAKE_CURRENT_SOURCE_DIR}/decoderBaseObject.idl
  DEPENDS decoderBaseObject.idl
)


##### arts_splay (library) ######################

tde_add_library( arts_splay SHARED
  SOURCES
    splayPlayObject.cpp
    splayPlayObject_impl.cpp
  VERSION 0.0.0
  LINK mpeg-shared ${ARTS_LIBRARIES}
  DESTINATION ${LIB_INSTALL_DIR}
)

add_custom_command(
  OUTPUT
    splayPlayObject.cpp splayPlayObject.h
  COMMAND ${ARTS_MCOPIDL_EXECUTABLE}
    -I${ARTS_INCLUDEDIR} ${CMAKE_CURRENT_SOURCE_DIR}/splayPlayObject.idl
  DEPENDS splayPlayObject.idl
)


##### mpeglibartsplay (executable) ##############

tde_add_executable( mpeglibartsplay
  SOURCES mpeglibartsplay.cpp
  LINK mcop kmedia2_idl soundserver_idl artsflow_idl ${ARTSC_LIBRARIES}
  DESTINATION ${BIN_INSTALL_DIR}
)


##### other data ################################

install(
  FILES
    decoderBaseObject_impl.h
    ${CMAKE_CURRENT_BINARY_DIR}/decoderBaseObject.h
    decoderBaseObject.idl
    splayPlayObject_impl.h
    ${CMAKE_CURRENT_BINARY_DIR}/splayPlayObject.h
    splayPlayObject.idl
  DESTINATION ${INCLUDE_INSTALL_DIR}/mpeglib_artsplug
)

install(
  FILES
    WAVPlayObject.mcopclass
    MP3PlayObject.mcopclass
    OGGPlayObject.mcopclass
    CDDAPlayObject.mcopclass
    NULLPlayObject.mcopclass
    SplayPlayObject.mcopclass
  DESTINATION ${LIB_INSTALL_DIR}/mcop
)
