include_directories(
    ${CMAKE_CURRENT_BINARY_DIR}
)

set(MIGRATION_SRCS
    ${CMAKE_CURRENT_SOURCE_DIR}/migrateuserjob.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/migratefolderjob.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/coordinationjob.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/sourceaccount.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/sourceserver.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/kolabserver.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/statefile.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/imapsourceaccount.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/kolabsourceaccount.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/exchangesourceaccount.cpp
)

QT4_WRAP_CPP(MIGRATION_MOC
    ${CMAKE_CURRENT_SOURCE_DIR}/migrateuserjob.h
    ${CMAKE_CURRENT_SOURCE_DIR}/migratefolderjob.h
    ${CMAKE_CURRENT_SOURCE_DIR}/coordinationjob.h
    ${CMAKE_CURRENT_SOURCE_DIR}/sourceaccount.h
    ${CMAKE_CURRENT_SOURCE_DIR}/sourceserver.h
    ${CMAKE_CURRENT_SOURCE_DIR}/kolabserver.h
    ${CMAKE_CURRENT_SOURCE_DIR}/statefile.h
    ${CMAKE_CURRENT_SOURCE_DIR}/imapsourceaccount.h
    ${CMAKE_CURRENT_SOURCE_DIR}/kolabsourceaccount.h
    ${CMAKE_CURRENT_SOURCE_DIR}/exchangesourceaccount.h
)

set(MIGRATION_SRCS
    ${MIGRATION_SRCS}
    ${MIGRATION_MOC}
    ${JOBS_SRCS}
)

set(MIGRATION_LIBRARIES
    kolabutils
    ${COMMON_DEPENDENCIES}
)

if(BUILD_GOOGLESUPPORT)
    find_package(LibKGAPI2 2.0 REQUIRED)
    include_directories(
        ${LibKGAPI2_INCLUDE_DIR}
    )

    QT4_WRAP_CPP(GOOGLE_MOC
        ${CMAKE_CURRENT_SOURCE_DIR}/googlesourceserver.h
        ${CMAKE_CURRENT_SOURCE_DIR}/googlesourceaccount.h
    )

    set(MIGRATION_SRCS
        ${MIGRATION_SRCS}
        ${GOOGLE_MOC}
        ${CMAKE_CURRENT_SOURCE_DIR}/googlesourceserver.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/googlesourceaccount.cpp
    )

    set(MIGRATION_LIBRARIES
        ${MIGRATION_LIBRARIES}
        ${LibKGAPI2_LIBRARY}
    )
    add_definitions("-DBUILD_GOOGLESUPPORT")
endif()

add_library(migration_static STATIC ${MIGRATION_SRCS})
target_link_libraries(migration_static ${COMMON_DEPENDENCIES} ${MIGRATION_LIBRARIES})

add_executable(kolab-migration ${MIGRATION_SRCS} main.cpp)
target_link_libraries(kolab-migration ${MIGRATION_LIBRARIES})

install(TARGETS kolab-migration
    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
    ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
)

add_subdirectory(tests)
