Warning, /network/telepathy-logger-qt/TelepathyLoggerQt/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 include(TpQtMacros) 0002 include(TpLoggerQtMacros) 0003 0004 file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/_gen") 0005 0006 # Sources for Tp-Logger-Qt 0007 set(telepathy_logger_qt_SRCS 0008 call-event.cpp 0009 entity.cpp 0010 event.cpp 0011 log-manager.cpp 0012 log-walker.cpp 0013 pending-dates.cpp 0014 pending-entities.cpp 0015 pending-events.cpp 0016 pending-clear.cpp 0017 pending-operation.cpp 0018 pending-search.cpp 0019 pending-log-walker-operation.cpp 0020 search-hit.cpp 0021 text-event.cpp 0022 utils.cpp 0023 init.cpp 0024 object.cpp 0025 ) 0026 0027 0028 ####################### Codegen ####################### 0029 0030 # The escape character in MSVC is ^ 0031 if(MSVC) 0032 set(TYPES_INCLUDE ^"types.h^" ) 0033 set(GLOBAL_INCLUDE ^"global.h^" ) 0034 set(LOGGER_EXTRA_INCLUDES ^"types.h^" ) 0035 else(MSVC) 0036 set(TYPES_INCLUDE '\"types.h\"' ) 0037 set(GLOBAL_INCLUDE '\"global.h\"' ) 0038 set(LOGGER_EXTRA_INCLUDES '\"types.h\"' ) 0039 endif(MSVC) 0040 0041 0042 add_custom_target(all-generated-sources) 0043 0044 # Generate stable spec 0045 set(gen_stable_spec_xml ${CMAKE_CURRENT_BINARY_DIR}/_gen/stable-spec.xml) 0046 tpqt_xincludator(stable-ifaces-includator ${CMAKE_CURRENT_SOURCE_DIR}/stable-interfaces.xml 0047 ${gen_stable_spec_xml}) 0048 tpqt_constants_gen(stable-constants ${gen_stable_spec_xml} ${CMAKE_CURRENT_BINARY_DIR}/_gen/constants.h 0049 --namespace=Tpl 0050 --define-prefix=TP_LOGGER_QT_ 0051 DEPENDS stable-ifaces-includator 0052 ) 0053 tpqt_types_gen(stable-typesgen ${gen_stable_spec_xml} 0054 ${CMAKE_CURRENT_BINARY_DIR}/_gen/types.h ${CMAKE_CURRENT_BINARY_DIR}/_gen/types-body.hpp 0055 Tpl TelepathyLoggerQt/types.h TelepathyLoggerQt/Types 0056 --must-define= 0057 --visibility=TELEPATHY_LOGGER_QT_EXPORT 0058 --extraincludes=${GLOBAL_INCLUDE} 0059 DEPENDS stable-constants 0060 ) 0061 0062 # Generate logger spec 0063 tpqt_xincludator(logger-ifaces-includator ${CMAKE_CURRENT_SOURCE_DIR}/logger.xml 0064 ${CMAKE_CURRENT_BINARY_DIR}/_gen/spec-logger.xml 0065 DEPENDS stable-typesgen 0066 ) 0067 # define generate_cli-logger-body target 0068 tpqt_client_generator(logger clientlogger log-manager.h Tpl 0069 --typesnamespace=Tpl 0070 --realinclude=log-manager.h 0071 --prettyinclude= 0072 --must-define= 0073 --visibility=TELEPATHY_LOGGER_QT_EXPORT 0074 DEPENDS logger-ifaces-includator 0075 ) 0076 0077 set(telepathy_logger_qt_GEN_HEADERS 0078 ${CMAKE_CURRENT_BINARY_DIR}/_gen/types.h 0079 ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-logger.h 0080 ) 0081 0082 # Run moc on the newly generated files 0083 qt5_wrap_cpp(telepathy_logger_qt_SRCS ${telepathy_logger_qt_GEN_HEADERS}) 0084 0085 ################# Add target ########################## 0086 0087 add_library(telepathy-logger-qt SHARED 0088 ${telepathy_logger_qt_SRCS} 0089 ) 0090 add_dependencies(telepathy-logger-qt generate_cli-logger-body) 0091 0092 generate_export_header(telepathy-logger-qt EXPORT_FILE_NAME TelepathyLoggerQt_export.h) 0093 0094 # Link 0095 target_link_libraries(telepathy-logger-qt 0096 LINK_PUBLIC 0097 Qt5::Core 0098 Qt5::DBus 0099 ${TELEPATHY_QT5_LIBRARIES} 0100 LINK_PRIVATE 0101 ${GLIB2_LIBRARIES} 0102 ${GOBJECT_LIBRARIES} 0103 -lgio-2.0 0104 ${QT_QTDBUS_LIBRARY} 0105 ${TELEPATHY_GLIB_LIBRARIES} 0106 ${TELEPATHY_LOGGER_LIBRARIES} 0107 ) 0108 0109 if (ENABLE_COMPILER_COVERAGE) 0110 target_link_libraries(telepathy-logger-qt gcov) 0111 endif (ENABLE_COMPILER_COVERAGE) 0112 0113 0114 target_include_directories(telepathy-logger-qt PRIVATE 0115 $<BUILD_INTERFACE:${TelepathyLoggerQt_SOURCE_DIR}> 0116 $<BUILD_INTERFACE:${TelepathyLoggerQt_BINARY_DIR}> 0117 ${GLIB2_INCLUDE_DIR} 0118 ${DBUS_GLIB_INCLUDE_DIR} 0119 ${TELEPATHY_GLIB_INCLUDE_DIR} 0120 ${TELEPATHY_QT5_INCLUDE_DIR} 0121 ${TELEPATHY_LOGGER_INCLUDE_DIR} 0122 ) 0123 target_include_directories(telepathy-logger-qt INTERFACE 0124 $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/TelepathyLoggerQt> 0125 ${GLIB2_INCLUDE_DIR} 0126 ${TELEPATHY_QT5_INCLUDE_DIR} 0127 ) 0128 0129 0130 set(TELEPATHY_LOGGER_QT_DEFINITIONS "-fexceptions") 0131 target_compile_options(telepathy-logger-qt INTERFACE $<INSTALL_INTERFACE:${TELEPATHY_LOGGER_QT_DEFINITIONS}>) 0132 0133 0134 # Set the correct version number 0135 set_target_properties(telepathy-logger-qt PROPERTIES 0136 SOVERSION ${TelepathyLoggerQt_SOVERSION} 0137 VERSION ${TelepathyLoggerQt_VERSION_STRING} 0138 EXPORT_NAME TelepathyLoggerQt 0139 ) 0140 0141 tplqt_generate_headers(TelepathyLoggerQt_CamelCase_HEADERS 0142 HEADER_NAMES 0143 CallEvent 0144 Entity 0145 Event 0146 Global 0147 Init 0148 LogManager 0149 LogWalker 0150 Object 0151 PendingDates 0152 PendingEntities 0153 PendingEvents 0154 PendingOperation 0155 PendingSearch 0156 SearchHit 0157 TextEvent 0158 Types 0159 REQUIRED_HEADERS TelepathyLoggerQt_HEADERS 0160 ) 0161 0162 install(FILES 0163 ${TelepathyLoggerQt_HEADERS} 0164 ${TelepathyLoggerQt_CamelCase_HEADERS} 0165 "${CMAKE_CURRENT_BINARY_DIR}/TelepathyLoggerQt_export.h" 0166 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/TelepathyLoggerQt 0167 COMPONENT Devel) 0168 0169 install(TARGETS telepathy-logger-qt 0170 EXPORT TelepathyLoggerQtTargets 0171 ${INSTALL_TARGETS_DEFAULT_ARGS})