project(libqtdee)
cmake_minimum_required(VERSION 2.8)

# Dependencies
include(FindPkgConfig)
find_package(Qt4 REQUIRED)
pkg_check_modules(DEE REQUIRED dee-1.0)

# Build flags
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall -std=c++0x")

# Sources
## QtDee
set(QtDee_SRCS
    deelistmodel.cpp
    )

set(QtDee_MOC_HDRS
    deelistmodel.h
    )

qt4_wrap_cpp(QtDee_MOC_SRCS ${QtDee_MOC_HDRS})

## QtDeeQml
set(QtDeeQml_SRCS
    plugin.cpp
    )

set(QtDeeQml_MOC_HDRS
    plugin.h
    )

qt4_wrap_cpp(QtDeeQml_MOC_SRCS ${QtDeeQml_MOC_HDRS})

# Build
add_definitions(-DQT_NO_KEYWORDS)

include_directories(
    ${CMAKE_CURRENT_BINARY_DIR}
    ${QT_INCLUDE_DIR}
    ${QT_QTCORE_INCLUDE_DIR}
    ${QT_QTDECLARATIVE_INCLUDE_DIR}
    ${DEE_INCLUDE_DIRS}
    )

## QtDee
add_library(QtDee SHARED ${QtDee_SRCS} ${QtDee_MOC_SRCS})

set_target_properties(QtDee PROPERTIES
    SOVERSION 2
    VERSION 2.0.0
    )

target_link_libraries(QtDee
    ${QT_QTCORE_LIBRARIES}
    ${DEE_LDFLAGS}
    )

## QtDeeQml
add_library(QtDeeQml SHARED ${QtDeeQml_SRCS} ${QtDeeQml_MOC_SRCS})

target_link_libraries(QtDeeQml
    QtDee
    ${QT_QTDECLARATIVE_LIBRARIES}
    )

## test
set(test_SRCS
    test.cpp
    )

set(test_MOC_HDRS
    test.h
    )

qt4_wrap_cpp(test_MOC_SRCS ${test_MOC_HDRS})

add_executable(test ${test_SRCS} ${test_MOC_SRCS})
target_link_libraries(test
    QtDee
    )
add_custom_target(check)

# Install
set(IMPORT_INSTALL_DIR lib/qt4/imports/dee)
set(INCLUDE_INSTALL_DIR include/QtDee)

## QtDee
install(TARGETS QtDee
    LIBRARY DESTINATION lib${LIB_SUFFIX}
    )

install(FILES deelistmodel.h
    DESTINATION ${INCLUDE_INSTALL_DIR}
    )

install(FILES libqtdee.pc
    DESTINATION lib/pkgconfig
    )

## QtDeeQml
install(TARGETS QtDeeQml
    LIBRARY DESTINATION ${IMPORT_INSTALL_DIR}
    )

install(FILES qmldir
    DESTINATION ${IMPORT_INSTALL_DIR}
    )

