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

include( ConfigureChecks.cmake )

include_directories(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_BINARY_DIR}
  ${AKODE_INCLUDE_DIRS}
  ${ARTS_INCLUDE_DIRS}
  ${TQT_INCLUDE_DIRS}
  ${TDE_INCLUDE_DIR}
)

link_directories(
  ${TQT_LIBRARY_DIRS}
  ${AKODE_LIBRARY_DIRS}
  ${ARTS_LIBRARY_DIRS}
)


##### arts_akode (library) ######################

tde_add_library( arts_akode SHARED AUTOMOC
  SOURCES
    akodearts.cpp akodePlayObject_impl.cpp
    akodeMPCPlayObject_impl.cpp akodeMPEGPlayObject_impl.cpp
    akodeFFMPEGPlayObject_impl.cpp akodeXiphPlayObject_impl.cpp
    akodeVorbisStreamPlayObject_impl.cpp akodeSpeexStreamPlayObject_impl.cpp
  VERSION 0.0.0
  LINK
    mcop kmedia2_idl soundserver_idl artsflow artsflow_idl ${AKODE_LIBRARIES}
  DESTINATION ${LIB_INSTALL_DIR}
)

add_custom_command(
  OUTPUT
    akodearts.cpp akodearts.h
    akodearts.mcoptype akodearts.mcopclass
  COMMAND ${ARTS_MCOPIDL_EXECUTABLE} -t
    -I${ARTS_INCLUDEDIR} ${CMAKE_CURRENT_SOURCE_DIR}/akodearts.idl
  DEPENDS akodearts.idl
)


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

install(
  FILES
    ${CMAKE_CURRENT_BINARY_DIR}/akodearts.mcoptype
    ${CMAKE_CURRENT_BINARY_DIR}/akodearts.mcopclass
  DESTINATION ${LIB_INSTALL_DIR}/mcop
)

set ( AKODE_MCOP_CLASSES akodePlayObject.mcopclass )

if( HAVE_AKODE_MPEG )
  list( APPEND AKODE_MCOP_CLASSES akodeMPEGPlayObject.mcopclass )
endif( )

if( HAVE_AKODE_MPC )
  list( APPEND AKODE_MCOP_CLASSES akodeMPCPlayObject.mcopclass )
endif( )

if( HAVE_AKODE_XIPH )
  list( APPEND AKODE_MCOP_CLASSES
        akodeXiphPlayObject.mcopclass
        akodeVorbisStreamPlayObject.mcopclass
        akodeSpeexStreamPlayObject.mcopclass )
endif( )

if( HAVE_AKODE_FFMPEG )
  list( APPEND AKODE_MCOP_CLASSES akodeFFMPEGPlayObject.mcopclass )
endif( )

install( FILES ${AKODE_MCOP_CLASSES} DESTINATION ${LIB_INSTALL_DIR}/mcop )