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

add_subdirectory( freeverb )
add_subdirectory( mcopclass )

include_directories(
  ${CMAKE_SOURCE_DIR}/arts/gui/kde
  ${CMAKE_SOURCE_DIR}/arts/modules/synth
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_BINARY_DIR}/arts/gui/common
  ${CMAKE_BINARY_DIR}/arts/midi
  ${CMAKE_BINARY_DIR}/arts/modules
  ${CMAKE_BINARY_DIR}/arts/modules/common
  ${CMAKE_BINARY_DIR}/arts/modules/synth
  ${CMAKE_BINARY_DIR}/arts/runtime
  ${CMAKE_BINARY_DIR}
  ${ARTS_INCLUDE_DIRS}
  ${TQT_INCLUDE_DIRS}
  ${TDE_INCLUDE_DIR}
)

link_directories(
  ${TQT_LIBRARY_DIRS}
  ${ARTS_LIBRARY_DIRS}
)


##### artsmoduleseffects (library) ##############

tde_add_library( artsmoduleseffects SHARED AUTOMOC
  SOURCES
    artsmoduleseffects.cpp
    fivebandmonocomplexeq_impl.cpp
    monostereoconversion_impl.cpp
    synth_stereo_pitch_shift_impl.cpp synth_stereo_pitch_shift_fft_impl.cpp
    synth_voice_removal_impl.cpp voiceremovalguifactory_impl.cpp
    synth_stereo_compressor_impl.cpp stereocompressorguifactory_impl.cpp
    synth_stereo_fir_equalizer_impl.cpp
    synth_freeverb_impl.cpp freeverbguifactory_impl.cpp
    effect_wavecapture_impl.cpp
    kstereovolumecontrolgui_impl.cpp stereovolumecontrolguifactory_impl.cpp
  VERSION 0.0.0
  EMBED
    freeverb-static
  LINK
    artsgui_idl-shared artsgui_kde-shared
    artsmodulescommon-shared
    mcop artsflow artsflow_idl ${ARTS_LIBRARIES}
  DESTINATION ${LIB_INSTALL_DIR}
)

add_custom_command(
  OUTPUT
    artsmoduleseffects.cpp artsmoduleseffects.h
    artsmoduleseffects.mcopclass artsmoduleseffects.mcoptype
  COMMAND ${ARTS_MCOPIDL_EXECUTABLE} -t
    -I${CMAKE_SOURCE_DIR}/arts/gui/common
    -I${CMAKE_SOURCE_DIR}/arts/midi
    -I${CMAKE_SOURCE_DIR}/arts/modules/common
    -I${CMAKE_SOURCE_DIR}/arts/modules/synth
    -I${ARTS_INCLUDEDIR}
    ${CMAKE_CURRENT_SOURCE_DIR}/artsmoduleseffects.idl
  DEPENDS artsmoduleseffects.idl
)


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

install(
  FILES
    artsmoduleseffects.idl
    ${CMAKE_CURRENT_BINARY_DIR}/artsmoduleseffects.h
  DESTINATION ${INCLUDE_INSTALL_DIR}/arts
)

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