project(QtZeitgeist)

# Minimal CMAKE version
cmake_minimum_required(VERSION 2.6)

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

find_package(Qt4 4.7.0 COMPONENTS QtCore QtDBus QtTest REQUIRED)


set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "7")
set(CPACK_PACKAGE_VERSION_PATCH "0")
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "QtZeitgeist-${CPACK_PACKAGE_VERSION}")
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")

#use CPack for packaging code up
include(CPack)


if(QT4_FOUND)
	include_directories(${QT_INCLUDE_DIR})
	include_directories(${QT_QT_INCLUDE_DIR})
	include_directories(${QT_QTCORE_INCLUDE_DIR})
	include_directories(${QT_QTDBUS_INCLUDE_DIR})
endif(QT4_FOUND)

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)

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

# Generate pkg-config file
configure_file(${CMAKE_SOURCE_DIR}/QtZeitgeist.pc.in ${CMAKE_BINARY_DIR}/QtZeitgeist.pc)
install(FILES ${CMAKE_BINARY_DIR}/QtZeitgeist.pc DESTINATION lib/pkgconfig)

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

# Generate cmake file
get_target_property(QZEITGEIST_LIBRARY qzeitgeist LOCATION)
configure_file(QZeitgeistConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/QZeitgeistConfig.cmake @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/QZeitgeistConfig.cmake DESTINATION ${CMAKE_INSTALL_PREFIX}/share/qzeitgeist/cmake)
