SET(QT_DONT_USE_QTGUI "YES")
INCLUDE(${QT_USE_FILE})

INCLUDE_DIRECTORIES(${QT_QTCORE_INCLUDE_DIR}
                    ${QTTAPIOCA_INC_DIR}
                    ${CMAKE_BINARY_DIR}/src/client
                    ${CMAKE_SOURCE_DIR}/src/client
                    ${CMAKE_SOURCE_DIR}/include
                    ${CMAKE_CURRENT_BINARY_DIR}
)

# ######### Decibel Client Library #########

SET(decibelclient_SRCS
    channelhandler.cpp
    ../../common/types.cpp
)

SET(decibelclient_HDRS
    ${decibel_public_HDRS}
)

SET(decibelclient_MOC_HDRS
    channelhandler.h
)

SET(decibelclient_XMLBASE
    protocolmanager
    accountmanager
    componentmanager
    contactmanager
)

# Hack to get additional headers into the code:
FOREACH (it ${decibelclient_XMLBASE})
    SET(_header "${CMAKE_CURRENT_BINARY_DIR}/${it}.h")
    SET(_source "${CMAKE_CURRENT_BINARY_DIR}/${it}.cpp")

    QT4_ADD_DBUS_SHARED_INTERFACE(decibelclientiface_SRCS
        ${CMAKE_SOURCE_DIR}/xml/server/${it}.xml
        ${it}
        DECIBEL_EXPORT
        Decibel/Types Decibel/decibel_export.h
    )

    SET(decibelclient_GENHDRS
        ${decibelclient_GENHDRS}
        ${_header}
    )
ENDFOREACH (it)

QT4_WRAP_CPP(decibelclient_MOC_SRCS
             ${decibelclient_MOC_HDRS}
)

QT4_ADD_DBUS_ADAPTOR(decibelclientiface_SRCS
                     ../../../xml/client/channelhandler.xml
                     Decibel/ChannelHandler
                     Decibel::ChannelHandler
)

ADD_LIBRARY(decibel SHARED
            ${decibelclient_SRCS}
            ${decibelclientiface_SRCS}
            ${decibelclient_MOC_SRCS}
)

SET_TARGET_PROPERTIES(decibel
                      PROPERTIES VERSION ${VERSION}
                                 SOVERSION ${SO_VERSION}
)
TARGET_LINK_LIBRARIES(decibel
                      ${QTTAPIOCA_LIBRARIES}
                      ${QT_QTDBUS_LIBRARY}
                      ${QT_QTCORE_LIBRARY}
)

INSTALL(TARGETS decibel DESTINATION ${LIB_INSTALL_DIR})
INSTALL(FILES decibel_export.h
        AccountManager ChannelHandler channelhandler.h
        ContactManager ComponentManager ProtocolManager
        ${decibelclient_GENHDRS}
        DESTINATION ${INCLUDE_INSTALL_DIR}
)

IF (NOT WIN32)
    # Generate pkg-config file
    CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Decibel.pc.in
                   ${CMAKE_CURRENT_BINARY_DIR}/Decibel.pc)
    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/Decibel.pc
            DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
ENDIF (NOT WIN32)

