syncthingtray/CMakeLists.txt

72 lines
2.8 KiB
CMake
Raw Normal View History

2016-08-25 00:45:32 +02:00
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
2020-03-05 19:04:55 +01:00
# define metadata
2016-08-25 00:45:32 +02:00
set(META_PROJECT_NAME syncthingtray)
set(META_PROJECT_TYPE application)
set(META_APP_AUTHOR "Martchus")
set(META_APP_AUTHOR_MAIL "martchus@gmx.net")
2016-08-25 00:45:32 +02:00
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")
2017-09-09 20:24:59 +02:00
set(META_GUI_OPTIONAL false)
set(META_VERSION_MAJOR 1)
set(META_VERSION_MINOR 1)
2021-05-07 00:05:18 +02:00
set(META_VERSION_PATCH 7)
set(META_VERSION_EXACT_SONAME ON)
set(META_ADD_DEFAULT_CPP_UNIT_TEST_APPLICATION ON)
2016-08-25 00:45:32 +02:00
project(${META_PROJECT_NAME})
2020-03-05 19:04:55 +01:00
# 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()
# set the include directory used when building so the headers of the different backend libraries can be found at build time
set(TARGET_INCLUDE_DIRECTORY_BUILD_INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include")
2020-03-05 19:04:55 +01:00
# 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}")
2019-03-13 19:12:23 +01:00
# allow using non-default configuration
set(CONFIGURATION_PACKAGE_SUFFIX "" CACHE STRING "sets the suffix for find_package() calls to packages configured via c++utilities")
set(CONFIGURATION_PACKAGE_SUFFIX_QTUTILITIES "${CONFIGURATION_PACKAGE_SUFFIX}" CACHE STRING "sets the suffix for qtutilities")
2019-03-13 19:12:23 +01:00
# 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})
2016-10-02 21:59:28 +02:00
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()
2016-08-25 00:45:32 +02:00
endif()
2017-02-20 18:37:11 +01:00
if(NOT NO_FILE_ITEM_ACTION_PLUGIN)
add_subdirectory(fileitemactionplugin)
endif()