syncthingtray/CMakeLists.txt
Martchus 3a50840a59 Extend documentation about the systemd integration
It is harder than it should be but for now extending the documentation
is all that can be done from the point of this project.
2020-05-24 17:41:53 +02:00

68 lines
2.4 KiB
CMake

cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
# define metadata
set(META_PROJECT_NAME syncthingtray)
set(META_PROJECT_TYPE application)
set(META_APP_AUTHOR "Martchus")
set(META_APP_AUTHOR_MAIL "martchus@gmx.net")
set(META_APP_URL "https://github.com/${META_APP_AUTHOR}/${META_PROJECT_NAME}")
set(META_APP_DESCRIPTION "Tray application for Syncthing")
set(META_APP_CATEGORIES "Network;FileTransfer")
set(META_GUI_OPTIONAL false)
set(META_VERSION_MAJOR 0)
set(META_VERSION_MINOR 10)
set(META_VERSION_PATCH 10)
set(META_VERSION_EXACT_SONAME ON)
set(META_ADD_DEFAULT_CPP_UNIT_TEST_APPLICATION ON)
project(${META_PROJECT_NAME})
# disable KDE integration under Android, Windows and MacOS by default
if(ANDROID OR WIN32 OR APPLE)
set(FILE_ITEM_ACTION_PLUGIN_DISABLED_BY_DEFAULT ON)
set(PLASMOID_DISABLED_BY_DEFAULT ON)
else()
set(FILE_ITEM_ACTION_PLUGIN_DISABLED_BY_DEFAULT OFF)
set(PLASMOID_DISABLED_BY_DEFAULT OFF)
endif()
# add options for partial build
option(NO_LIBSYNCTHING "whether building Syncthing itself as a library should be skipped" ON)
option(NO_CLI "whether building CLI should be skipped" OFF)
option(NO_TRAY "whether building the tray should be skipped" OFF)
option(NO_FILE_ITEM_ACTION_PLUGIN "whether building the file item action plugin should be skipped" "${FILE_ITEM_ACTION_PLUGIN_DISABLED_BY_DEFAULT}")
option(NO_MODEL "whether building models should be skipped, implies NO_TRAY" OFF)
option(NO_WIDGETS "whether building widgets should be skipped, implies NO_TRAY" OFF)
option(NO_PLASMOID "whether building the Plasma 5 plasmoid should be skipped" "${PLASMOID_DISABLED_BY_DEFAULT}")
# allow using non-default configuration
set(CONFIGURATION_PACKAGE_SUFFIX "" CACHE STRING "sets the suffix for find_package() calls to packages configured via c++utilities")
# add subdirectories
enable_testing()
add_subdirectory(connector)
add_subdirectory(testhelper)
if (NOT NO_LIBSYNCTHING)
add_subdirectory(libsyncthing)
endif()
link_directories(${LIB_SYNCTHING_CONNECTOR_BINARY_DIR})
if(NOT NO_CLI)
add_subdirectory(cli)
endif()
if(NOT NO_MODEL)
add_subdirectory(model)
link_directories(${LIB_SYNCTHING_MODEL_BINARY_DIR})
if(NOT NO_WIDGETS)
add_subdirectory(widgets)
if(NOT NO_TRAY)
add_subdirectory(tray)
endif()
if(NOT NO_PLASMOID)
add_subdirectory(plasmoid)
endif()
endif()
endif()
if(NOT NO_FILE_ITEM_ACTION_PLUGIN)
add_subdirectory(fileitemactionplugin)
endif()