cmake_minimum_required(VERSION 3.16)

project(suryaos-displaymessages VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)

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

# Align QML install path with Qt's QT_INSTALL_QML (system import path).
set(KDE_INSTALL_USE_QT_SYS_PATHS ON)

include(KDEInstallDirs)
include(GNUInstallDirs)

find_package(Qt5 5.15 CONFIG REQUIRED COMPONENTS Core Qml)

add_library(displaymessagesplugin SHARED
    src/displaymessages.h
    src/displaymessages.cpp
    src/messagesstore.h
    src/messagesstore.cpp
    src/plugin.h
    src/plugin.cpp
)

target_link_libraries(displaymessagesplugin
    PRIVATE
        Qt5::Core
        Qt5::Qml
)

add_executable(zdisplay-messages
    src/cli.cpp
    src/messagesstore.cpp
)

target_link_libraries(zdisplay-messages
    PRIVATE
        Qt5::Core
)

set(QML_INSTALL_DIR ${KDE_INSTALL_QMLDIR}/com/suryaos/ui/displaymessages)

install(TARGETS displaymessagesplugin
    DESTINATION ${QML_INSTALL_DIR})
install(FILES src/qmldir
    DESTINATION ${QML_INSTALL_DIR})
install(TARGETS zdisplay-messages
    DESTINATION ${CMAKE_INSTALL_BINDIR})
