syncthingtray/tray/CMakeLists.txt
Martchus 49ff5a7b65 Move widgets from tray app to separate lib
So settings pages, web view and other widgets
can be used in other components such as the
Dolphin plugin and Plasmoid, too.
2017-04-23 18:31:18 +02:00

126 lines
2.8 KiB
CMake

cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
# metadata
set(META_PROJECT_TYPE application)
set(META_GUI_OPTIONAL false)
set(META_APP_NAME "Syncthing Tray")
set(META_APP_ACTIONS OPEN_WEBUI)
set(META_APP_ACTION_OPEN_WEBUI "open-webui" "Open web UI" "--webui")
# add project files
set(WIDGETS_HEADER_FILES
application/singleinstance.h
gui/trayicon.h
gui/traywidget.h
gui/traymenu.h
gui/dirbuttonsitemdelegate.h
gui/devbuttonsitemdelegate.h
gui/downloaditemdelegate.h
gui/dirview.h
gui/devview.h
gui/downloadview.h
)
set(WIDGETS_SRC_FILES
application/main.cpp
application/singleinstance.cpp
gui/trayicon.cpp
gui/traywidget.cpp
gui/traymenu.cpp
gui/dirbuttonsitemdelegate.cpp
gui/devbuttonsitemdelegate.cpp
gui/downloaditemdelegate.cpp
gui/dirview.cpp
gui/devview.cpp
gui/downloadview.cpp
)
set(RES_FILES
resources/${META_PROJECT_NAME}icons.qrc
)
set(WIDGETS_UI_FILES
gui/traywidget.ui
)
set(TS_FILES
translations/${META_PROJECT_NAME}_de_DE.ts
translations/${META_PROJECT_NAME}_en_US.ts
)
set(ICON_FILES
resources/icons/hicolor/scalable/app/${META_PROJECT_NAME}.svg
)
set(PNG_ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/resources/icons/hicolor/scalable/app/${META_PROJECT_NAME}.png")
set(PNG_ICON_NO_CROP ON)
set(DOC_FILES
README.md
)
set(REQUIRED_ICONS
dialog-cancel
dialog-ok
dialog-ok-apply
edit-copy
edit-paste
folder
folder-download
folder-open
folder-sync
help-about
internet-web-browser
list-add
list-remove
media-playback-pause
media-playback-start
network-card
network-connect
network-disconnect
network-server
preferences-desktop
preferences-desktop-icons
preferences-desktop-locale
preferences-desktop-notification
preferences-other
qtcreator
system-run
system-search
system-file-manager
text-plain
view-barcode
view-refresh
window-close
)
# fallback icons can not replace built-in Breeze icons (yet)
#set(FALLBACK_ICON_THEME breeze)
# find c++utilities
find_package(c++utilities 4.6.0 REQUIRED)
use_cpp_utilities()
# find qtutilities
find_package(qtutilities 5.6.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()
find_package(syncthingwidgets ${META_APP_VERSION} REQUIRED)
use_syncthingwidgets()
# 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(AppTarget)
include(ShellCompletion)
include(Doxygen)
include(ConfigHeader)
# create desktop file using previously defined meta data
add_desktop_file()