PROJECT(kcallgui)

ADD_DEFINITIONS(-DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS)
#SET(QT_USE_QT3SUPPORT ON)

INCLUDE(${QT_USE_FILE})

INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
                    ${CMAKE_BINARY_DIR}/src/client
                    ${CMAKE_SOURCE_DIR}/src/client
                    ${QT_QTCORE_INCLUDE_DIR}
                    ${QT_QTGUI_INCLUDE_DIR}
                    ${QT_QTXML_INCLUDE_DIR}
                    ${QTTAPIOCA_INC_DIR}
                    ${KDE4_INCLUDE_DIR}
                    ${DECIBEL_INCLUDE_DIR}
                    ${KDEPIMLIBS_INCLUDE_DIR}
                    ${CMAKE_CURRENT_BINARY_DIR}
                    ${CMAKE_CURRENT_SOURCE_DIR}
)

SET(SERVICE_FILE "de.basyskom.kcallgui.service")

CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/${SERVICE_FILE}.cmake"
               "${CMAKE_CURRENT_BINARY_DIR}/${SERVICE_FILE}"
)

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

SET(kcall_LIB_SRCS
    kcallcore.cpp
    decibeldialer.cpp 
    decibelchannelhandler.cpp 
    kcallview.cpp
    vcardview.cpp
    keypad.cpp 
    historymodel.cpp
    callmodel.cpp
    dtmfinput.cpp
)

QT4_ADD_DBUS_INTERFACE(kcall_LIB_SRCS
                       log.xml
                       decibel_log
                       Decibel/Types
)


QT4_ADD_DBUS_INTERFACE(kcallcore_DBUS_IFACE
                       org.kde.KCall.Core.xml kcallcore_interface
)

KDE4_ADD_KCFG_FILES(kcall_LIB_SRCS kcallsettings.kcfgc)

KDE4_ADD_UI_FILES(kcall_LIB_SRCS
                  keypad.ui kcallview.ui vcardview.ui dtmfinput.ui
)

KDE4_ADD_LIBRARY(kcall SHARED ${kcall_LIB_SRCS} ${kcallcore_DBUS_IFACE})

TARGET_LINK_LIBRARIES(kcall
                      ${KDE4_KDEUI_LIBS}
                      ${KDE4_KABC_LIBS}
                      ${KDE4_KDE3SUPPORT_LIBS}
                      ${QT_QT3SUPPORT_LIBS}
                      ${DECIBEL_LDFLAGS}
)

SET_TARGET_PROPERTIES(kcall PROPERTIES VERSION ${VERSION}
                                       SOVERSION ${SO_VERSION}
)
INSTALl(TARGETS kcall  DESTINATION ${LIB_INSTALL_DIR})

ADD_SUBDIRECTORY (icons)

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

SET(kcall_bin_SRCS
    main.cpp
    kcallmainwindow.cpp
)

QT4_ADD_DBUS_ADAPTOR(kcall_bin_SRCS org.kde.KCall.Core.xml
                     kcallmainwindow.h KCallMainWindow kcalladaptor
)

KDE4_ADD_EXECUTABLE(kcall_bin ${kcall_bin_SRCS})
SET_TARGET_PROPERTIES(kcall_bin PROPERTIES OUTPUT_NAME kcall)

TARGET_LINK_LIBRARIES(kcall_bin
                      kcall
                      ${KDE4_KHTML_LIBS}
                      ${DECIBEL_LDFLAGS})

INSTALL(TARGETS kcall_bin  ${INSTALL_TARGETS_DEFAULT_ARGS} )

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

SET(kcallpart_PART_SRCS kcall_part.cpp )

QT4_ADD_DBUS_ADAPTOR(kcallpart_PART_SRCS org.kde.KCall.Core.xml
                     kcall_part.h KCallPart kcallpartadaptor
)

KDE4_ADD_PLUGIN(kcallpart WITH_PREFIX ${kcallpart_PART_SRCS})

TARGET_LINK_LIBRARIES(kcallpart  ${KDE4_KPARTS_LIBS} kcall )

INSTALL(TARGETS kcallpart DESTINATION ${PLUGIN_INSTALL_DIR})


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


INSTALL(FILES kcall.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
INSTALL(FILES kcallui.rc kcall_partui.rc
        DESTINATION ${DATA_INSTALL_DIR}/kcall
)

INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SERVICE_FILE}
        DESTINATION ${DBUS_SERVICES_INSTALL_DIR}
)
INSTALL(FILES de.basyskom.kcallgui.streamchannel.component
        DESTINATION ${COMPONENT_SEARCH_DIR}
)
INSTALL(FILES org.kde.KCall.Core.xml
        DESTINATION ${DBUS_INTERFACES_INSTALL_DIR}
)

#############

## Kontact developers say they do not want kontact plugins
## from outside KDEPIM: The interfaces are not stable
## and will change without notice. We still want to have it:-)
IF (KCALL_ENABLE_KONTACT_PLUGIN AND KPINTERFACES_FOUND)
    ADD_SUBDIRECTORY(kontactplugin)
ENDIF (KCALL_ENABLE_KONTACT_PLUGIN AND KPINTERFACES_FOUND)

