SET(QT_DONT_USE_QTGUI ON)
SET(QT_USE_QTDBUS ON)
INCLUDE(${QT_USE_FILE})

INCLUDE_DIRECTORIES(${QT_QTCORE_INCLUDE_DIR}
                    ${TELEPATHY_QT_INCLUDE_DIR}
                    ${TAPIOCA_QT_INCLUDE_DIR}
                    ${CMAKE_CURRENT_BINARY_DIR}
                    ${CMAKE_CURRENT_SOURCE_DIR}
                    ${CMAKE_SOURCE_DIR}/include
                    ${CMAKE_SOURCE_DIR}/src/pluginhelper
)

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

SET(SERVICE_FILE "org.kde.Decibel.Daemon.service")

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

# ######### Decibel Server Library #########

SET(decibel_SRCS
    ../common/types.cpp
    protocolmanager.cpp
    accountmanager.cpp
    connectionfacade.cpp
    contactmanager.cpp
    contactmanager_p.cpp
    componentmanager.cpp
    policyengine.cpp
    contactstatemachine.cpp
    decibelmain.cpp
    cookiegenerator.cpp
)

SET(decibel_MOC_HDRS
    protocolmanager.h
    accountmanager.h
    connectionfacade.h
    contactmanager.h
    contactmanager_p.h
    componentmanager.h
    policyengine.h
    contactstatemachine.h
    decibelmain.h
)

SET(decibel_HDRS
    ${decibel_public_HDRS}
)

QT4_ADD_DBUS_ADAPTOR(decibel_SRCS
                     ../../xml/server/protocolmanager.xml
                     protocolmanager.h
                     ProtocolManager
)
QT4_ADD_DBUS_ADAPTOR(decibel_SRCS
                     ../../xml/server/accountmanager.xml
                     accountmanager.h
                     AccountManager
)
QT4_ADD_DBUS_ADAPTOR(decibel_SRCS
                     ../../xml/server/componentmanager.xml
                     componentmanager.h
                     ComponentManager
)
QT4_ADD_DBUS_ADAPTOR(decibel_SRCS
                     ../../xml/server/contactmanager.xml
                     contactmanager.h
                     ContactManager
)
# client interfaces:
QT4_ADD_DBUS_INTERFACE(decibel_SRCS
                       ../../xml/client/channelhandler.xml
                       channelhandler
                       Decibel/Types
)

QT4_WRAP_CPP(decibel_MOC_SRCS ${decibel_MOC_HDRS})

ADD_EXECUTABLE(decibel
               main.cpp
               ${decibel_SRCS}
               ${decibel_HDRS}
               ${decibel_MOC_SRCS}
)
TARGET_LINK_LIBRARIES(decibel
                      ${QT_LIBRARIES}
                      ${TAPIOCA_QT_LIBRARIES}
                      ${TELEPATHY_QT_LIBRARIES}
)

# Install:
INSTALL(TARGETS decibel DESTINATION ${BIN_INSTALL_DIR})

INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SERVICE_FILE}
        DESTINATION ${DBUS_SERVICES_INSTALL_DIR}
)
