cmake_minimum_required(VERSION 3.16)

project(mos-auth)

find_package(ECM 1.4.0 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH})

include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)

include(KDEClangFormat)
# add clang-format target
file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c)
kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})

find_package(Qt5 REQUIRED COMPONENTS
    Core
    Qml
    DBus
)

find_package(KF5 REQUIRED COMPONENTS
    Plasma # Required for plasma_install_package()
)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(authplugin_SRCS
    plugin/utils.h
    plugin/authservice.h plugin/authservice.cpp
    plugin/authplugin.h plugin/authplugin.cpp
    plugin/authdbusservice.h plugin/authdbusservice.cpp
    plugin/configuration.h plugin/configuration.cpp
)

add_library(authplugin SHARED ${authplugin_SRCS})

target_link_libraries(authplugin
                      Qt::Core
                      Qt::Qml
                      Qt::DBus
)

install(TARGETS authplugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/mos/auth)
install(FILES plugin/qmldir DESTINATION ${KDE_INSTALL_QMLDIR}/org/mos/auth)
