#***************************************************************************
#* SPDX-FileCopyrightText: 2022 S. MANKOWSKI stephane@mankowski.fr
#* SPDX-FileCopyrightText: 2022 G. DE BURE support@mankowski.fr
#* SPDX-License-Identifier: GPL-3.0-or-later
#***************************************************************************
MESSAGE( STATUS "..:: CMAKE SKGBASEGUI ::..")

PROJECT(SKGBASEGUI)
IF(SKG_DBUS)
    MESSAGE( STATUS "     DBUS enabled")
    ADD_DEFINITIONS(-DSKG_DBUS=${SKG_DBUS})
ELSE(SKG_DBUS)
    MESSAGE( STATUS "     DBUS disabled")
ENDIF(SKG_DBUS)

FIND_PACKAGE(KF5Activities) 
FIND_PACKAGE(KF5 5.0.0 REQUIRED COMPONENTS 
  GuiAddons             # Tier 1
  Notifications         # Tier 3  
  NotifyConfig          # Tier 3  
)
IF(SKG_WEBENGINE)
    MESSAGE( STATUS "     Mode WebEngine")
    ADD_DEFINITIONS(-DSKG_WEBENGINE=${SKG_WEBENGINE})
ENDIF(SKG_WEBENGINE)
IF(SKG_WEBKIT)
    MESSAGE( STATUS "     Mode Webkit")
    ADD_DEFINITIONS(-DSKG_WEBKIT=${SKG_WEBKIT})
ENDIF(SKG_WEBKIT)

LINK_DIRECTORIES (${LIBRARY_OUTPUT_PATH})

SET(skgbasegui_SRCS
    skgmainpanel.cpp
    skgmenuitem.cpp
    skgobjectmodelbase.cpp
    skgwidget.cpp
    skgperiodedit.cpp
    skgtabwidget.cpp
    skgtablewidget.cpp
    skgtabpage.cpp
    skginterfaceplugin.cpp
    skgtableview.cpp
    skgfilteredtableview.cpp
    skgtreeview.cpp
    skgcombobox.cpp
    skgcolorbutton.cpp
    skgzoomselector.cpp
    skgcalculatoredit.cpp
    skggraphicsscene.cpp
    skggraphicsview.cpp
    skghtmlboardwidget.cpp
    skgboardwidget.cpp
    skgtablewithgraph.cpp
    skgdateedit.cpp
    skgprogressbar.cpp
    kdateedit.cpp
    kdatepickerpopup.cpp
    kdatevalidator.cpp
    skgsortfilterproxymodel.cpp
    skgflowlayout.cpp
    skgwebview.cpp
    skgshow.cpp
    skgwidgetselector.cpp
    skgsimpleperiodedit.cpp
)

SET(LIBS KF5::Parts KF5::KIOFileWidgets KF5::NotifyConfig KF5::Notifications Qt5::QuickWidgets Qt5::PrintSupport Qt5::Svg skgbasemodeler)
IF(SKG_WEBENGINE)
    SET(LIBS ${LIBS} Qt5::WebEngineWidgets)
ENDIF(SKG_WEBENGINE)
IF(SKG_WEBKIT)
    SET(LIBS ${LIBS} Qt5::WebKitWidgets)
ENDIF(SKG_WEBKIT)
IF(KActivities_FOUND)
    MESSAGE( STATUS "     KActivity FOUND" )
    SET(LIBS ${LIBS} KF5::Activities)
ENDIF(KActivities_FOUND)

ki18n_wrap_ui(skgbasegui_SRCS skgmainpanel_base.ui skgmainpanel_pref.ui skggraphicsview.ui skgtablewithgraph.ui skgcolorbutton.ui skgzoomselector.ui skgperiodedit.ui skgfilteredtableview.ui skgwidgetselector.ui )
kconfig_add_kcfg_files(skgbasegui_SRCS skgbasegui_settings.kcfgc )

ADD_LIBRARY(skgbasegui SHARED ${skgbasegui_SRCS})
TARGET_LINK_LIBRARIES(skgbasegui LINK_PUBLIC ${LIBS})
SET_TARGET_PROPERTIES(skgbasegui PROPERTIES VERSION ${SKG_VERSION} SOVERSION ${SOVERSION} )
GENERATE_EXPORT_HEADER(skgbasegui BASE_NAME skgbasegui)

########### install files ###############
INSTALL(TARGETS skgbasegui ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}  LIBRARY NAMELINK_SKIP  )
INSTALL(FILES ${PROJECT_SOURCE_DIR}/skgmainpanel.rc  DESTINATION  ${KDE_INSTALL_KXMLGUI5DIR}/skg )
INSTALL(FILES ${PROJECT_SOURCE_DIR}/skgbasegui_settings.kcfg  DESTINATION  ${KDE_INSTALL_KCFGDIR} )

INSTALL(DIRECTORY icons_breeze/ DESTINATION ${KDE_INSTALL_ICONDIR}/breeze/actions/22 FILES_MATCHING PATTERN "*.svgz")
INSTALL(DIRECTORY icons_breeze-dark/ DESTINATION ${KDE_INSTALL_ICONDIR}/breeze-dark/actions/22 FILES_MATCHING PATTERN "*.svgz")

ECM_INSTALL_ICONS(ICONS
    icons_hicolor/16-actions-skg-chart-bubble.png
    icons_hicolor/22-actions-skg-chart-bubble.png
    icons_hicolor/32-actions-skg-chart-bubble.png
    icons_hicolor/48-actions-skg-chart-bubble.png
    icons_hicolor/64-actions-skg-chart-bubble.png
    icons_hicolor/128-actions-skg-chart-bubble.png
    icons_hicolor/256-actions-skg-chart-bubble.png
    icons_hicolor/512-actions-skg-chart-bubble.png
    icons_hicolor/sc-actions-skg-chart-bubble.svgz
    DESTINATION ${KDE_INSTALL_ICONDIR}
    THEME hicolor
)
