syncthingtray/cli/CMakeLists.txt

65 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
# metadata
set(META_PROJECT_NAME syncthingctl)
set(META_APP_NAME "Syncthing control")
set(META_APP_DESCRIPTION "Command line app to control Syncthing")
set(META_PROJECT_TYPE application)
set(META_JS_SRC_DIR .)
# add project files
set(HEADER_FILES
helper.h
args.h
application.h
)
set(SRC_FILES
main.cpp
args.cpp
application.cpp
)
set(TEST_HEADER_FILES
)
set(TEST_SRC_FILES
tests/application.cpp
)
# find c++utilities
find_package(c++utilities 4.17.0 REQUIRED)
use_cpp_utilities()
# find qtutilities
find_package(qtutilities 5.0.0 REQUIRED)
list(APPEND CMAKE_MODULE_PATH ${QT_UTILITIES_MODULE_DIRS})
# find backend libraries
find_package(syncthingconnector ${META_APP_VERSION} REQUIRED)
use_syncthingconnector()
find_package(syncthingtesthelper ${META_APP_VERSION} REQUIRED)
if(SYNCTHINGTESTHELPER_HAS_SHARED_LIB)
list(APPEND TEST_LIBRARIES syncthingtesthelper)
elseif(SYNCTHINGTESTHELPER_HAS_STATIC_LIB)
list(APPEND TEST_LIBRARIES syncthingtesthelper_static)
else()
message(WARNING "Unable to build tests. Testhelper not found.")
endif()
# include modules to apply configuration
include(BasicConfig)
include(JsProviderConfig)
if(JS_PROVIDER)
list(APPEND HEADER_FILES jsconsole.h)
list(APPEND SRC_FILES jsconsole.cpp)
list(APPEND RES_FILES resources/js/js.qrc)
endif()
include(QtConfig)
include(WindowsResources)
include(AppTarget)
if(SYNCTHINGTESTHELPER_HAS_SHARED_LIB OR SYNCTHINGTESTHELPER_HAS_STATIC_LIB)
include(TestTarget)
endif()
include(ShellCompletion)
include(Doxygen)
include(ConfigHeader)