115 lines
2.9 KiB
CMake
115 lines
2.9 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/syncthinglauncher.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/syncthinglauncher.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()
|
|
|
|
option(USE_LIBSYNCTHING "whether libsyncthing should be included for the launcher" OFF)
|
|
if(USE_LIBSYNCTHING)
|
|
find_package(syncthing ${META_APP_VERSION} REQUIRED)
|
|
use_syncthing()
|
|
set_source_files_properties(
|
|
misc/syncthinglauncher.cpp
|
|
PROPERTIES COMPILE_DEFINITIONS SYNCTHING_WIDGETS_USE_LIBSYNCTHING
|
|
)
|
|
endif()
|
|
|
|
# link also explicitely against the following Qt 5 modules
|
|
list(APPEND ADDITIONAL_QT_MODULES Network Concurrent)
|
|
|
|
# include modules to apply configuration
|
|
include(BasicConfig)
|
|
include(QtGuiConfig)
|
|
include(QtConfig)
|
|
include(WindowsResources)
|
|
include(WebViewProviderConfig)
|
|
include(LibraryTarget)
|
|
include(Doxygen)
|
|
include(ConfigHeader)
|