project(kmid)

macro_optional_find_package(Alsa)
alsa_configure_file(${CMAKE_CURRENT_BINARY_DIR}/config-alsa.h)

include(ConfigureChecks.cmake)

configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)

include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})

add_definitions(-DHAVE_CONFIG_H)

add_subdirectory( maps ) 
add_subdirectory( examples ) 
add_subdirectory( pics ) 
add_subdirectory( libkmid )




########### next target ###############

set(kmidpart_PART_SRCS ${CMAKE_CURRENT_BINARY_DIR}/part_dummy.cpp )


kde4_add_plugin(kmidpart WITH_PREFIX ${kmidpart_PART_SRCS})



## TODO: this should probably be replaced with the entry point for the part.
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/part_dummy.cpp "//autogenerated file by cmake\n")

target_link_libraries(kmidpart  ${KDE4_KDECORE_LIBS} kmidlib )

install(TARGETS kmidpart  DESTINATION ${PLUGIN_INSTALL_DIR} )


########### next target ###############

set(kmidlib_LIB_SRCS
   kmidframe.cpp 
   kmidclient.cpp 
   kdisptext.cpp 
   qslidertime.cpp 
   klcdnumber.cpp 
   ktrianglebutton.cpp 
   midicfgdlg.cpp 
   collectdlg.cpp 
   randomlist.cpp 
   channelview.cpp 
   channel.cpp 
   channel3d.cpp 
   channel4d.cpp 
   channelcfgdlg.cpp 
   instrname.cpp 
   rhythmview.cpp 
   songlist.cpp 
   slman.cpp 
   kmid_part.cpp )

qt4_add_dbus_adaptor( kmidlib_LIB_SRCS org.kde.KMid.xml kmidclient.h kmidClient) 




kde4_add_library(kmidlib SHARED ${kmidlib_LIB_SRCS})

target_link_libraries(kmidlib  ${KDE4_KPARTS_LIBS} libkmid ${QT_QT3SUPPORT_LIBRARY})

set_target_properties(kmidlib PROPERTIES VERSION ${GENERIC_LIB_VERSION}
SOVERSION ${GENERIC_LIB_SOVERSION} )
install(TARGETS kmidlib  ${INSTALL_TARGETS_DEFAULT_ARGS} )


########### next target ###############

set(kmid_SRCS main.cpp ${kmidlib_LIB_SRCS})


kde4_add_executable(kmid ${kmid_SRCS})

target_link_libraries(kmid  ${KDE4_KDECORE_LIBS} kmidlib)

install(TARGETS kmid  ${INSTALL_TARGETS_DEFAULT_ARGS} )


########### install files ###############

install( FILES kmid.desktop  DESTINATION  ${XDG_APPS_INSTALL_DIR} )
install( FILES keyboard.xpm button1.xpm button2.xpm  DESTINATION  ${DATA_INSTALL_DIR}/kmid/icons )
install( FILES kmid_partui.rc  DESTINATION  ${DATA_INSTALL_DIR}/kmid )
install( FILES kmidui.rc  DESTINATION  ${DATA_INSTALL_DIR}/kmid )
install( FILES std.sb drums.sb std.o3 drums.o3  DESTINATION  ${DATA_INSTALL_DIR}/kmid/fm )
install( FILES audiomidi.desktop  DESTINATION  ${SERVICETYPES_INSTALL_DIR} )
install( FILES org.kde.KMid.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} )

kde4_install_icons( ${ICON_INSTALL_DIR}   )

