project(QtTelepathy)
cmake_minimum_required(VERSION 2.4.3)

set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)

# Set install locations:
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
set(EXEC_INSTALL_PREFIX  ${CMAKE_INSTALL_PREFIX}       CACHE PATH  "Base directory for executables and libraries" FORCE)
set(LIB_INSTALL_DIR          "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}"     CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)

find_package(Qt4 REQUIRED)
include(UsePkgConfig)

pkgconfig(dbus-1 DBUS_INC_DIR DBUS_LIB_DIR DBUS_LDFLAGS DBUS_CFLAGS)
pkgconfig(QtDBus QDBUS_INC_DIR QDBUS_LIB_DIR QDBUS_LDFLAGS QDBUS_CFLAGS)

find_library(QDBUS_LIBRARIES NAMES QtDBus
    PATHS ${DBUS_LIB_DIR}
    PATHS ${QDBUS_LIB_DIR}
)

# put the include dirs which are in the source or build tree
# before all other include dirs, so the headers in the sources
# are prefered over the already installed ones
# since cmake 2.4.1
set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)

configure_file(
    "${CMAKE_SOURCE_DIR}/cmake/modules/cmake_uninstall.cmake.in"
    "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake"
    IMMEDIATE @ONLY)

# Generate pkg-config file
configure_file(${CMAKE_SOURCE_DIR}/QtTelepathyClient.pc.in
               ${CMAKE_BINARY_DIR}/QtTelepathyClient.pc)
configure_file(${CMAKE_SOURCE_DIR}/QtTelepathyCommon.pc.in
               ${CMAKE_BINARY_DIR}/QtTelepathyCommon.pc)
configure_file(${CMAKE_SOURCE_DIR}/QtTelepathyCore.pc.in
               ${CMAKE_BINARY_DIR}/QtTelepathyCore.pc)

install(FILES ${CMAKE_BINARY_DIR}/QtTelepathyClient.pc
        DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
install(FILES ${CMAKE_BINARY_DIR}/QtTelepathyCommon.pc
        DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
install(FILES ${CMAKE_BINARY_DIR}/QtTelepathyCore.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)

add_custom_target(uninstall
    "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake")

add_subdirectory(src)
add_subdirectory(include)
add_subdirectory(tests)

