Warning, /network/telepathy-logger-qt/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.5)
0002
0003 project(TelepathyLoggerQt)
0004
0005 # ECM setup
0006 find_package(ECM 1.6.0 CONFIG REQUIRED)
0007 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} "${TelepathyLoggerQt_SOURCE_DIR}/cmake/modules")
0008
0009 include(GenerateExportHeader)
0010 include(ECMGeneratePriFile)
0011 include(ECMPackageConfigHelpers)
0012 include(ECMSetupVersion)
0013 include(FeatureSummary)
0014 include(KDEInstallDirs)
0015 include(KDECMakeSettings)
0016
0017 include(Doxygen)
0018
0019 set(TELEPATHY_LOGGER_QT_VERSION "0.9.80.0")
0020
0021 ecm_setup_version(${TELEPATHY_LOGGER_QT_VERSION} VARIABLE_PREFIX TelepathyLoggerQt
0022 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/TelepathyLoggerQt_version.h"
0023 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/TelepathyLoggerQtConfigVersion.cmake"
0024 SOVERSION 5
0025 )
0026
0027 # TelepathyLoggerQt specific defines needed to trigger deprecation warnings
0028 if (CXX_DEPRECATED_DECLARATIONS)
0029 set(DEPRECATED_DECLARATIONS_FLAGS "${DEPRECATED_DECLARATIONS_FLAGS} -DTELEPATHY_LOGGER_QT_DEPRECATED_WARNINGS")
0030 endif (CXX_DEPRECATED_DECLARATIONS)
0031
0032 ################# Find packages #####################
0033 set(QT5_MIN_VERSION "5.2")
0034 find_package(Qt5 ${QT5_MIN_VERSION} REQUIRED COMPONENTS Core DBus Network Xml)
0035
0036 set(TELEPATHY_QT_MIN_VERSION "0.9.1")
0037 find_package(TelepathyQt5 ${TELEPATHY_QT_MIN_VERSION} REQUIRED)
0038 set_package_properties(TelepathyQt5 PROPERTIES
0039 DESCRIPTION "Qt bindings for Telepathy"
0040 URL "https://telepathy.freedesktop.org"
0041 TYPE REQUIRED)
0042
0043 find_package(GLIB2 REQUIRED)
0044 set_package_properties(GLIB2 PROPERTIES
0045 DESCRIPTION "A library containing many useful C routines"
0046 URL "https://developer.gnome.org/glib/"
0047 TYPE REQUIRED)
0048
0049 find_package(GObject REQUIRED)
0050 set_package_properties(GObject PROPERTIES
0051 DESCRIPTION "GLib Object System"
0052 URL "https://developer.gnome.org/glib/"
0053 TYPE REQUIRED)
0054
0055 find_package(DBus REQUIRED)
0056 set_package_properties(DBus PROPERTIES
0057 DESCRIPTION "Inter-process communication system"
0058 URL "https://dbus.freedesktop.org"
0059 TYPE REQUIRED)
0060
0061 find_package(DBusGLib REQUIRED)
0062 set_package_properties(DBusGLib PROPERTIES
0063 DESCRIPTION "GLib bindings for DBus"
0064 URL "https://dbus.freedesktop.org"
0065 TYPE REQUIRED)
0066
0067 find_package(LibXml2 REQUIRED)
0068 set_package_properties(LibXml2 PROPERTIES
0069 DESCRIPTION "XML C parser and toolkit"
0070 URL "http://www.xmlsoft.org"
0071 TYPE REQUIRED)
0072
0073 # Find telepathy-glib
0074 set(TELEPATHY_GLIB_MIN_VERSION 0.16.0)
0075 find_package(TelepathyGlib ${TELEPATHY_GLIB_MIN_VERSION} REQUIRED)
0076 set_package_properties(TelepathyGlib PROPERTIES
0077 DESCRIPTION "Glib bindings for Telepathy"
0078 URL "https://telepathy.freedesktop.org"
0079 TYPE REQUIRED)
0080
0081 # Find python
0082 if(${CMAKE_VERSION} VERSION_LESS 3.12)
0083 find_package(PythonInterp 3 REQUIRED)
0084 set_package_properties(PythonInterp PROPERTIES
0085 DESCRIPTION "Python Interpreter"
0086 URL "https://www.python.org"
0087 TYPE REQUIRED)
0088
0089 # PythonInterp exposes PYTHON_EXECUTABLE on its own
0090 else()
0091 find_package(Python3 REQUIRED)
0092 set_package_properties(Python3 PROPERTIES
0093 DESCRIPTION "Python Interpreter"
0094 URL "https://www.python.org"
0095 TYPE REQUIRED)
0096 set(PYTHON_EXECUTABLE "${Python3_EXECUTABLE}")
0097 endif()
0098
0099 # Find TelepathyLogger >= 0.8.0
0100 set(TELEPATHY_LOGGER_MIN_VERSION 0.8.0)
0101 find_package(TelepathyLogger ${TELEPATHY_LOGGER_MIN_VERSION} REQUIRED)
0102 set_package_properties(TelepathyLogger PROPERTIES
0103 DESCRIPTION "Daemon for logging Telepathy conversations"
0104 URL "https://telepathy.freedesktop.org"
0105 TYPE REQUIRED)
0106 # Generate a helper include file that defines current TPL version
0107 ecm_setup_version(${TELEPATHY_LOGGER_VERSION} VARIABLE_PREFIX TelepathyLogger
0108 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/TelepathyLogger_version.h")
0109
0110 ################# Targets ####################
0111
0112 # Prevent conflicts between Glib and Qt
0113 add_definitions(-DQT_NO_KEYWORDS)
0114
0115
0116 # Add the source subdirectories
0117 add_subdirectory(TelepathyLoggerQt)
0118 #add_subdirectory(tests)
0119 #add_subdirectory(tools)
0120
0121
0122 ############### CMake Config Files ####################
0123
0124 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/TelepathyLoggerQt")
0125
0126 ecm_configure_package_config_file(
0127 "${CMAKE_CURRENT_SOURCE_DIR}/TelepathyLoggerQt/TelepathyLoggerQtConfig.cmake.in"
0128 "${CMAKE_CURRENT_BINARY_DIR}/TelepathyLoggerQt/TelepathyLoggerQtConfig.cmake"
0129 INSTALL_DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0130 )
0131
0132 install(FILES
0133 "${CMAKE_CURRENT_BINARY_DIR}/TelepathyLoggerQt/TelepathyLoggerQtConfig.cmake"
0134 "${CMAKE_CURRENT_BINARY_DIR}/TelepathyLoggerQtConfigVersion.cmake"
0135 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0136 COMPONENT DEVEL
0137 )
0138
0139 install(EXPORT TelepathyLoggerQtTargets
0140 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0141 FILE TelepathyLoggerQtTargets.cmake)
0142
0143 install(FILES
0144 "${CMAKE_CURRENT_BINARY_DIR}/TelepathyLoggerQt_version.h"
0145 "${CMAKE_CURRENT_BINARY_DIR}/TelepathyLogger_version.h"
0146 DESTINATION "${KDE_INSTALL_INCLUDEDIR}/TelepathyLoggerQt"
0147 COMPONENT Devel)
0148
0149
0150 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)