syncthingtray/tray/CMakeLists.txt

113 lines
2.8 KiB
CMake

cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
# metadata
set(META_PROJECT_TYPE application)
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
emblem-error
folder
folder-download
folder-open
folder-sync
go-down
go-up
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.11.0 REQUIRED)
use_cpp_utilities()
# find qtutilities
find_package(qtutilities 5.10.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()