syncthingtray/syncthingmodel/CMakeLists.txt

88 lines
2.9 KiB
CMake
Raw Normal View History

cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR)
# metadata
set(META_PROJECT_NAME syncthingmodel)
set(META_PROJECT_TYPE library)
2016-10-02 21:59:28 +02:00
set(META_APP_NAME "Data models of Syncthing Tray")
set(META_APP_DESCRIPTION "Data models of Syncthing Tray")
set(META_PROJECT_VARNAME_UPPER LIB_SYNCTHING_MODEL)
set(META_PUBLIC_QT_MODULES Gui Widgets)
set(META_SRCDIR_REFS "${CMAKE_CURRENT_SOURCE_DIR}/../syncthingconnector")
# add project files
set(HEADER_FILES
syncthingmodel.h
syncthingdirectorymodel.h
syncthingdevicemodel.h
syncthingdownloadmodel.h
2024-04-01 18:57:18 +02:00
syncthingfilemodel.h
2020-01-18 16:37:20 +01:00
syncthingrecentchangesmodel.h
2020-10-20 19:16:53 +02:00
syncthingsortfiltermodel.h
syncthingstatuscomputionmodel.h
syncthingstatusselectionmodel.h
2017-02-20 18:03:20 +01:00
syncthingicons.h
2019-02-06 17:36:14 +01:00
colors.h)
2020-01-18 16:37:20 +01:00
set(SRC_FILES
syncthingmodel.cpp
syncthingdirectorymodel.cpp
syncthingdevicemodel.cpp
syncthingdownloadmodel.cpp
2024-04-01 18:57:18 +02:00
syncthingfilemodel.cpp
2020-01-18 16:37:20 +01:00
syncthingrecentchangesmodel.cpp
2020-10-20 19:16:53 +02:00
syncthingsortfiltermodel.cpp
syncthingstatuscomputionmodel.cpp
2020-01-18 16:37:20 +01:00
syncthingstatusselectionmodel.cpp
syncthingicons.cpp)
2019-02-06 17:36:14 +01:00
set(RES_FILES resources/${META_PROJECT_NAME}icons.qrc)
2021-10-07 18:28:13 +02:00
set(TS_FILES translations/${META_PROJECT_NAME}_zh_CN.ts translations/${META_PROJECT_NAME}_cs_CZ.ts
translations/${META_PROJECT_NAME}_de_DE.ts translations/${META_PROJECT_NAME}_en_US.ts)
2016-10-05 23:01:53 +02:00
set(QT_TESTS models)
2024-04-07 23:29:23 +02:00
set(QT_TEST_SRC_FILES_models syncthingicons.cpp syncthingmodel.cpp syncthingdirectorymodel.cpp syncthingdevicemodel.cpp
syncthingfilemodel.cpp)
# find c++utilities
find_package(${PACKAGE_NAMESPACE_PREFIX}c++utilities${CONFIGURATION_PACKAGE_SUFFIX} 5.0.0 REQUIRED)
use_cpp_utilities()
# find qtutilities
find_package(${PACKAGE_NAMESPACE_PREFIX}qtutilities${CONFIGURATION_PACKAGE_SUFFIX_QTUTILITIES} 6.3.0 REQUIRED)
use_qt_utilities()
2016-10-03 00:41:38 +02:00
# find backend libraries
find_package(syncthingconnector ${META_APP_VERSION} REQUIRED)
2019-03-13 19:12:23 +01:00
use_syncthingconnector(VISIBILITY PUBLIC)
# find qtforkawesome
find_package(${PACKAGE_NAMESPACE_PREFIX}qtforkawesome${CONFIGURATION_PACKAGE_SUFFIX_QTFORKAWESOME} 0.1.0 REQUIRED)
use_qt_fork_awesome(VISIBILITY PUBLIC)
# link also explicitly against the following Qt modules
2019-11-30 18:24:19 +01:00
list(APPEND ADDITIONAL_QT_MODULES Network Gui Widgets Svg)
# include modules to apply configuration
include(BasicConfig)
include(QtConfig)
include(WindowsResources)
include(LibraryTarget)
include(Doxygen)
include(ConfigHeader)
# configure test target
include(TestUtilities)
list(APPEND QT_TEST_LIBRARIES ${LIB_SYNCTHING_CONNECTOR_LIB}_mocked ${CPP_UTILITIES_LIB})
use_qt_module(LIBRARIES_VARIABLE "QT_TEST_LIBRARIES" PREFIX "${QT_PACKAGE_PREFIX}" MODULE "Test")
foreach (TEST ${QT_TESTS})
configure_test_target(
TEST_NAME
"${TEST}_tests"
SRC_FILES
${QT_TEST_SRC_FILES_${TEST}}
"tests/${TEST}.cpp"
LIBRARIES
"${QT_TEST_LIBRARIES}"
FULL_TEST_NAME_OUT_VAR
FULL_TEST_NAME_${TEST})
endforeach ()