project(Dekko-Server)

list(APPEND dekkod_SRCS
    mailmessageclient.cpp
    messageserver.cpp
    newcountnotifier.cpp
    prepareaccounts.cpp
    servicehandler.cpp
)

if(NOT DEKKO_SERVER_AS_THREAD)
    list(APPEND dekkod_SRCS
        main.cpp
    )
endif()

add_executable(dekkod ${dekkod_SRCS})

target_compile_definitions(dekkod
    PRIVATE
    QMF_NO_MESSAGE_SERVICE_EDITOR
    HAVE_LIBICU
    QMF_ENABLE_LOGGING
)

if(CLICK_MODE)
    target_compile_definitions(dekkod
        PRIVATE
        CLICK
    )
else()
    target_compile_definitions(dekkod
        PRIVATE
        SNAP
        USE_HTML_PARSER
    )
endif()

target_include_directories(dekkod
    PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}
    ${QmfClient_INCLUDE_DIRS}
    ${QmfMessageServer_INCLUDE_DIRS}
)

target_link_libraries(dekkod
    PUBLIC
    ${QmfClient_LIBRARIES}
    ${QmfMessageServer_LIBRARIES}
    Qt5::Core
    Qt5::Gui
    Qt5::Widgets
)

if(CLICK_MODE)
    add_subdirectory(serviceplugin)
endif()

add_subdirectory(serviceworker)

install(TARGETS
    dekkod
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
