Warning, /network/ktp-common-internals/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required (VERSION 3.16)
0002 
0003 # KDE Application Version, managed by release script
0004 set (RELEASE_SERVICE_VERSION_MAJOR "23")
0005 set (RELEASE_SERVICE_VERSION_MINOR "07")
0006 set (RELEASE_SERVICE_VERSION_MICRO "70")
0007 
0008 # Bump for every 0.x release, or whenever BC changes
0009 set (KTP_SONUMBER 9) # SO 9 is for 15.08 release
0010 set (KTP_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
0011 set (KTP_MESSAGE_FILTER_FRAMEWORK_VERSION "5")
0012 
0013 project(ktp-common-internals VERSION ${KTP_VERSION})
0014 
0015 find_package(ECM 1.7.0 REQUIRED NO_MODULE)
0016 set (CMAKE_MODULE_PATH
0017      "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
0018      ${ECM_MODULE_PATH}
0019 )
0020 
0021 find_package (Qt5 REQUIRED CONFIG COMPONENTS
0022               DBus
0023               Qml
0024               Sql
0025               Test
0026               Xml)
0027 
0028 find_package (KF5 5.11 REQUIRED COMPONENTS
0029               CoreAddons
0030               Notifications
0031               KIO
0032               WidgetsAddons
0033               KCMUtils
0034               NotifyConfig
0035               TextEditor
0036               Wallet
0037               Config
0038               WindowSystem
0039               IconThemes
0040               People)
0041 
0042 set(REQUIRED_TPQT_VERSION 0.9.8)
0043 
0044 find_package (TelepathyQt5 ${REQUIRED_TPQT_VERSION} COMPONENTS Core REQUIRED)
0045 find_package (TelepathyQt5 ${REQUIRED_TPQT_VERSION} COMPONENTS Service) #used for the otr-proxy
0046 find_package (TelepathyLoggerQt)
0047 
0048 find_package (KAccounts)
0049 find_package (AccountsQt5 1.10 CONFIG)
0050 find_package (SignOnQt5 8.55 CONFIG)
0051 find_package (LibOTR 4.0.0)
0052 find_package (Libgcrypt)
0053 find_package (telepathy-accounts-signon)
0054 
0055 if (LIBOTR_FOUND AND LIBGCRYPT_FOUND AND TARGET TelepathyQt5::Service)
0056     set(OTR_LIBS_FOUND TRUE)
0057 endif ()
0058 
0059 include(KDEInstallDirs)
0060 include(KDECMakeSettings)
0061 include(KDECompilerSettings NO_POLICY_SCOPE)
0062 include(ECMMarkNonGuiExecutable)
0063 include(CMakePackageConfigHelpers)
0064 include(ECMInstallIcons)
0065 include(ECMSetupVersion)
0066 include(GenerateExportHeader)
0067 include(CMakePackageConfigHelpers)
0068 include(WriteBasicConfigVersionFile)
0069 include(CheckIncludeFiles)
0070 include(FeatureSummary)
0071 
0072 set_package_properties(KF5People PROPERTIES DESCRIPTION "Support for KDE Contact Aggregation"
0073                        URL "https://commits.kde.org/kpeople"
0074                        TYPE OPTIONAL
0075                       )
0076 set_package_properties(TelepathyLoggerQt PROPERTIES DESCRIPTION "Qt bindings for TelepathyLogger. This is needed to provide access to chat logs. HIGHLY recommended"
0077                        URL "https://commits.kde.org/telepathy-logger-qt"
0078                        TYPE OPTIONAL
0079                       )
0080 set_package_properties(LibOTR PROPERTIES DESCRIPTION "Required for OTR support" TYPE OPTIONAL)
0081 set_package_properties(Libgcrypt PROPERTIES DESCRIPTION "Required for OTR support" TYPE OPTIONAL)
0082 
0083 set_package_properties(telepathy-accounts-signon PROPERTIES
0084                        PURPOSE "Runtime-only dependency on a Telepathy Mission Control plugin, currently residing at https://gitlab.com/accounts-sso/telepathy-accounts-signon"
0085                        TYPE RUNTIME
0086                       )
0087 
0088 add_definitions(-DKTP_MESSAGE_FILTER_FRAMEWORK_VERSION=\"${KTP_MESSAGE_FILTER_FRAMEWORK_VERSION}\")
0089 add_definitions(-DTRANSLATION_DOMAIN=\"ktp-common-internals\")
0090 add_definitions (
0091                  -DQT_NO_CAST_FROM_ASCII
0092                  -DQT_NO_KEYWORDS
0093 )
0094 add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
0095 
0096 include_directories (
0097                      ${CMAKE_CURRENT_BINARY_DIR}
0098                      ${CMAKE_CURRENT_SOURCE_DIR}
0099 )
0100 
0101 if (KF5People_FOUND)
0102     add_definitions(-DHAVE_KPEOPLE)
0103     add_subdirectory(kpeople)
0104 endif ()
0105 
0106 #If we find KAccounts library, build the plugin for it
0107 if (KAccounts_FOUND AND AccountsQt5_FOUND AND SignOnQt5_FOUND)
0108     include_directories(${ACCOUNTSQT_INCLUDE_DIRS} ${SIGNONQT_INCLUDE_DIRS})
0109     add_subdirectory(kaccounts)
0110 endif ()
0111 
0112 ecm_setup_version(${KTP_VERSION} VARIABLE_PREFIX KTP
0113                         VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/ktp_version.h"
0114                         PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KTpConfigVersion.cmake"
0115                         SOVERSION ${KTP_SONUMBER})
0116 
0117 add_subdirectory(KTp)
0118 add_subdirectory(tools)
0119 add_subdirectory(data)
0120 add_subdirectory(tests)
0121 
0122 if (OTR_LIBS_FOUND)
0123     include_directories (${LIBOTR_INCLUDE_DIR}
0124                          ${LIBGCRYPT_INCLUDE_DIR}
0125     )
0126     add_subdirectory(otr-proxy)
0127 endif (OTR_LIBS_FOUND)
0128 
0129 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KTp")
0130 
0131 configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KTpConfig.cmake.in"
0132                               "${CMAKE_CURRENT_BINARY_DIR}/KTpConfig.cmake"
0133                               INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0134                               )
0135 
0136 install(FILES  "${CMAKE_CURRENT_BINARY_DIR}/KTpConfig.cmake"
0137                "${CMAKE_CURRENT_BINARY_DIR}/KTpConfigVersion.cmake"
0138         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0139         COMPONENT Devel )
0140 
0141 install(EXPORT KTpTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0142         FILE KTpTargets.cmake NAMESPACE KTp:: COMPONENT Devel)
0143 
0144 ki18n_install(po)
0145 
0146 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)