# SPDX-FileCopyrightText: none
# SPDX-License-Identifier: BSD-3-Clause
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
add_definitions(-DTEST_DATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}/data")
include_directories(
    BEFORE
    ${kmail_SOURCE_DIR}
    ${kmail_BINARY_DIR}
)

########### dbus test ###############
add_executable(
    displaymessageformatactionmenutest
    displaymessageformatactionmenutest.cpp
    displaymessageformatactionmenutest.h
)
add_test(NAME displaymessageformatactionmenutest COMMAND displaymessageformatactionmenutest)
ecm_mark_as_test(kmail-displaymessageformatactionmenutest)
target_link_libraries(
    displaymessageformatactionmenutest
    Qt::Test
    KPim6::MessageViewer
    KF6::I18n
    kmailprivate
)

#####
add_executable(
    identityaddvcarddialogtest
    identityaddvcarddialogtest.cpp
    identityaddvcarddialogtest.h
)
ecm_mark_as_test(kmail-identityaddvcarddialogtest)
target_link_libraries(
    identityaddvcarddialogtest
    Qt::Test
    Qt::Widgets
    KF6::Completion
    KF6::KIOWidgets
    KF6::I18n
    kmailprivate
)

#####
add_executable(
    createfollowupreminderonexistingmessagejobtest
    createfollowupreminderonexistingmessagejobtest.cpp
    createfollowupreminderonexistingmessagejobtest.h
)
ecm_mark_as_test(kmail_createfollowupreminderonexistingmessagejobtest)
target_link_libraries(
    createfollowupreminderonexistingmessagejobtest
    Qt::Test
    Qt::Widgets
    KPim6::AkonadiCore
    KF6::CalendarCore
    KF6::Mime
    KPim6::MessageComposer
    kmailprivate
)
#####

add_executable(
    cryptostateindicatorwidgettest
    cryptostateindicatorwidgettest.cpp
    cryptostateindicatorwidgettest.h
)
add_test(NAME cryptostateindicatorwidgettest COMMAND cryptostateindicatorwidgettest)
ecm_mark_as_test(cryptostateindicatorwidgettest)
target_link_libraries(
    cryptostateindicatorwidgettest
    Qt::Test
    KPim6::MessageCore
    Qt::Widgets
    KF6::I18n
    kmailprivate
)
#####

add_executable(
    encryptionstatetest
    encryptionstatetest.cpp
    encryptionstatetest.h
)
add_test(NAME encryptionstatetest COMMAND encryptionstatetest)
ecm_mark_as_test(encryptionstatetest)
target_link_libraries(
    encryptionstatetest
    Qt::Test
    kmailprivate
)

add_executable(
    kactionmenutransporttest
    kactionmenutransporttest.cpp
    kactionmenutransporttest.h
)
add_test(NAME kactionmenutransporttest COMMAND kactionmenutransporttest)
ecm_mark_as_test(kactionmenutransporttest)
target_link_libraries(
    kactionmenutransporttest
    Qt::Test
    KPim6::AkonadiMime
    KF6::WidgetsAddons
    KF6::I18n
    KF6::ConfigGui
    kmailprivate
)

add_akonadi_isolated_test(SOURCE kmcomposerwintest.cpp LINK_LIBRARIES
    Qt::Test
    KPim6::IdentityManagementWidgets
    KPim6::Libkleo
    KPim6::MessageCore
    KPim6::MessageComposer
    KPim6::TemplateParser
    KF6::XmlGui
    Qt::Widgets
    KF6::I18n
    kmailprivate
    KF6::Codecs
)

add_akonadi_isolated_test(SOURCE tagselectdialogtest.cpp LINK_LIBRARIES
    kmailprivate
    KPim6::MailCommon
    KPim6::Libkdepim
    KF6::ItemViews
    KPim6::TemplateParser
    KF6::XmlGui
    KF6::Completion
    KF6::I18n
)

add_akonadi_isolated_test(SOURCE kmcommandstest.cpp LINK_LIBRARIES
    Qt::Test
    Qt::Widgets
    KPim6::AkonadiCore
    KF6::XmlGui
    KF6::Bookmarks
    KF6::Contacts
    KF6::I18n
    KPim6::IdentityManagementCore
    KF6::KIOCore
    KF6::KIOFileWidgets
    KPim6::MessageCore
    KPim6::MessageComposer
    KPim6::MessageList
    KPim6::MessageViewer
    KPim6::MailCommon
    KPim6::AkonadiMime
    KPim6::Libkdepim
    KPim6::TemplateParser
    kmailprivate
)

add_executable(
    commandlineinfotest
    commandlineinfotest.cpp
    commandlineinfotest.h
)
add_test(NAME commandlineinfotest COMMAND commandlineinfotest)
ecm_mark_as_test(commandlineinfotest)
target_link_libraries(
    commandlineinfotest
    Qt::Test
    KPim6::AkonadiMime
    KF6::WidgetsAddons
    KF6::I18n
    KF6::ConfigGui
    kmailprivate
)
