project(QtTapioca)
cmake_minimum_required(VERSION 2.6.0)
#cmake_policy(SET CMP0003 NEW)

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

set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g3 -fno-inline")

# 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)
if(EXISTS ${CMAKE_SOURCE_DIR}/telepathy-qt/)
   set(TELEPATHY_QT_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/telepathy-qt/include)
   set(TELEPATHY_QT_LIBRARIES QtTelepathyClient)
else(EXISTS ${CMAKE_SOURCE_DIR}/telepathy-qt/)
   FIND_PACKAGE(TelepathyQt REQUIRED)
endif(EXISTS ${CMAKE_SOURCE_DIR}/telepathy-qt/)
if (NOT QT_QTDBUS_FOUND)
   message(FATAL_ERROR  "Tapioca-Qt requires Qt4 with QtDBus module in order to built.")
endif(NOT QT_QTDBUS_FOUND)

SET (VERSION_MAJOR "0")
SET (VERSION_MINOR "17")
SET (VERSION_PATCH "7")
SET (VERSION_SUFFIX "")
SET (VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${VERSION_SUFFIX}")

SET (SOVERSION "1707")

# 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)

set(CMAKE_DATA_DIR "/share" CACHE STRING.
    "Install location for data (relative to prefix).")

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

# Generate pkg-config file
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/QtTapioca.pc.in ${CMAKE_CURRENT_BINARY_DIR}/QtTapioca.pc)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/QtTapioca.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)

set(INC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
set(binary_DIR ${CMAKE_CURRENT_BINARY_DIR})

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

# If the cmake version includes cpack, use it
IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
    SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Qt Tapioca binding library")
    SET(CPACK_PACKAGE_VENDOR "INdT - Instituto Nokia de Tecnologia")
    SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
    SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/README")
    SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
    SET(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
    SET(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}")
    SET(CPACK_PACKAGE_INSTALL_DIRECTORY "tapioca-qt ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
    SET(CPACK_SOURCE_PACKAGE_FILE_NAME "tapioca-qt-${VERSION}")
    SET(CPACK_GENERATOR TGZ)
    SET(CPACK_SOURCE_GENERATOR TGZ)
    SET(CPACK_SOURCE_IGNORE_FILES CMakeCache.txt CMakeFiles Makefile progress.make cmake_install.cmake CPackConfig.cmake CPackSourceConfig.cmake "\\\\.svn" "\\\\.swp$" "\\\\.cvs" "\\\\.tar.gz" "\\\\.cxx")
    SET(CPACK_SOURCE_TOPLEVEL_TAG "Linux-Source")
    SET(CPACK_STRIP_FILES "")
    SET(CPACK_SYSTEM_NAME "Linux")
    INCLUDE(CPack)
ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")

