project(dikt)

cmake_minimum_required (VERSION 3.16.0 FATAL_ERROR)
set(QT_MIN_VERSION "5.15.0")
set(KF5_DEP_VERSION "5.78.0")

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

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

find_package(Qt5 CONFIG REQUIRED Core Network Widgets PrintSupport)
find_package(KF5 REQUIRED COMPONENTS Config I18n KIO XmlGui GuiAddons IconThemes DBusAddons)

add_definitions(
	-DQT_USE_QSTRINGBUILDER
)

set(dikt_SRCS
	src/browser.cpp
	src/conf.cpp
	src/formatter.cpp
	src/group.cpp
	src/hiliter.cpp
	src/host.cpp
	src/main.cpp
	src/page.cpp
	src/selection.cpp
	src/settings.cpp
	src/style.cpp
	src/tracker.cpp
	src/window.cpp
	src/gui/history.cpp
	src/gui/list.cpp
	src/gui/menu.cpp
	src/gui/search.cpp
	src/gui/select.cpp
	src/gui/status.cpp
	src/gui/widgets.cpp
	src/net/dict.cpp
)

qt5_wrap_ui(dikt_SRCS
	ui/browserconf.ui
	ui/groupedit.ui
	ui/searchbar.ui
	ui/searchconf.ui
	ui/styleconf.ui
	ui/selections.ui
)

qt5_add_resources(dikt_SRCS res/dikt.qrc)
add_executable(dikt ${dikt_SRCS})

target_link_libraries(dikt
	Qt5::Network
	Qt5::PrintSupport
	KF5::GuiAddons
	KF5::I18n
	KF5::KIOFileWidgets
	KF5::DBusAddons
	KF5::IconThemes
	KF5::WidgetsAddons
)

install(TARGETS dikt DESTINATION ${BIN_INSTALL_DIR})
install(PROGRAMS dist/dikt.desktop  DESTINATION ${XDG_APPS_INSTALL_DIR})
install(FILES dist/diktui.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/dikt)
install(FILES dist/dict.protocol DESTINATION ${SERVICES_INSTALL_DIR})

install(FILES res/format.conf res/dikt.css DESTINATION ${DATA_INSTALL_DIR}/dikt)
install(FILES icon/dikt.png DESTINATION ${ICON_INSTALL_DIR}/hicolor/128x128/apps)

feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
