syncthingtray/widgets/CMakeLists.txt

103 lines
2.5 KiB
CMake

cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
# metadata
set(META_PROJECT_NAME syncthingwidgets)
set(META_PROJECT_TYPE library)
set(META_APP_NAME "Widgets of Syncthing Tray")
set(META_PUBLIC_QT_MODULES Gui Widgets)
set(META_WEBVIEW_SRC_DIR webview)
set(META_PUBLIC_SHARED_LIB_DEPENDS syncthingconnector syncthingmodel)
set(META_PUBLIC_STATIC_LIB_DEPENDS syncthingconnector_static syncthingmodel_static)
# add project files
set(WIDGETS_HEADER_FILES
settings/settings.h
settings/settingsdialog.h
webview/webpage.h
webview/webviewdialog.h
misc/textviewdialog.h
misc/errorviewdialog.h
misc/statusinfo.h
misc/dbusstatusnotifier.h
misc/internalerror.h
misc/otherdialogs.h
misc/syncthingkiller.h
)
set(WIDGETS_SRC_FILES
settings/settings.cpp
settings/settingsdialog.cpp
webview/webpage.cpp
webview/webviewdialog.cpp
webview/webviewinterceptor.h
webview/webviewinterceptor.cpp
misc/textviewdialog.cpp
misc/errorviewdialog.cpp
misc/statusinfo.cpp
misc/dbusstatusnotifier.cpp
misc/internalerror.cpp
misc/otherdialogs.cpp
misc/syncthingkiller.cpp
)
set(RES_FILES
resources/${META_PROJECT_NAME}icons.qrc
)
set(WIDGETS_UI_FILES
settings/connectionoptionpage.ui
settings/notificationsoptionpage.ui
settings/appearanceoptionpage.ui
settings/autostartoptionpage.ui
settings/launcheroptionpage.ui
settings/systemdoptionpage.ui
settings/webviewoptionpage.ui
)
set(TS_FILES
translations/${META_PROJECT_NAME}_de_DE.ts
translations/${META_PROJECT_NAME}_en_US.ts
)
set(REQUIRED_ICONS
preferences-other
process-stop
list-add
preferences-desktop
internet-web-browser
system-run
edit-paste
list-remove
preferences-desktop-notification
view-refresh
emblem-checked
network-connect
emblem-remove
go-down
go-up
)
# find c++utilities
find_package(c++utilities 4.6.0 REQUIRED)
use_cpp_utilities()
# find qtutilities
find_package(qtutilities 5.9.0 REQUIRED)
use_qt_utilities()
# find backend libraries
find_package(syncthingconnector ${META_APP_VERSION} REQUIRED)
use_syncthingconnector()
find_package(syncthingmodel ${META_APP_VERSION} REQUIRED)
use_syncthingmodel()
# link also explicitely against the following Qt 5 modules
list(APPEND ADDITIONAL_QT_MODULES Network)
# include modules to apply configuration
include(BasicConfig)
include(QtGuiConfig)
include(QtConfig)
include(WindowsResources)
include(WebViewProviderConfig)
include(LibraryTarget)
include(Doxygen)
include(ConfigHeader)