From b5f86ab262219a71a82ff709bace288c8b7984f6 Mon Sep 17 00:00:00 2001 From: Hevake Lee Date: Sat, 6 Jan 2024 12:26:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0=E5=AF=B9dbus?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=9A=84CMake=E6=9E=84=E5=BB=BA=E7=9A=84?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 5 +++ modules/dbus/CMakeLists.txt | 66 +++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 modules/dbus/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 2478996..098458c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,6 +85,7 @@ option(TBOX_ENABLE_FLOW "build flow" ON) option(TBOX_ENABLE_ALARM "build alarm" ON) option(TBOX_ENABLE_CRYPTO "build crypto" ON) option(TBOX_ENABLE_JSONRPC "build jsonrpc" ON) +option(TBOX_ENABLE_DBUS "build dbus" ON) # # 3rd-party libraries @@ -196,6 +197,10 @@ if(TBOX_ENABLE_JSONRPC) list(APPEND TBOX_COMPONENTS jsonrpc) endif() +if(TBOX_ENABLE_DBUS) + message(STATUS "dbus module enabled") + list(APPEND TBOX_COMPONENTS dbus) +endif() foreach(item IN LISTS TBOX_COMPONENTS) add_subdirectory(modules/${item}) diff --git a/modules/dbus/CMakeLists.txt b/modules/dbus/CMakeLists.txt new file mode 100644 index 0000000..c172092 --- /dev/null +++ b/modules/dbus/CMakeLists.txt @@ -0,0 +1,66 @@ +# +# .============. +# // M A K E / \ +# // C++ DEV / \ +# // E A S Y / \/ \ +# ++ ----------. \/\ . +# \\ \ \ /\ / +# \\ \ \ / +# \\ \ \ / +# -============' +# +# Copyright (c) 2024 Hevake and contributors, all rights reserved. +# +# This file is part of cpp-tbox (https://github.com/cpp-main/cpp-tbox) +# Use of this source code is governed by MIT license that can be found +# in the LICENSE file in the root of the source tree. All contributing +# project authors may be found in the CONTRIBUTORS.md file in the root +# of the source tree. +# + +cmake_minimum_required(VERSION 3.15) + +set(TBOX_DBUS_VERSION_MAJOR 0) +set(TBOX_DBUS_VERSION_MINOR 0) +set(TBOX_DBUS_VERSION_PATCH 1) +set(TBOX_DBUS_VERSION ${TBOX_DBUS_VERSION_MAJOR}.${TBOX_DBUS_VERSION_MINOR}.${TBOX_DBUS_VERSION_PATCH}) + +add_definitions(-DLOG_MODULE_ID="tbox.dbus") + +set(TBOX_LIBRARY_NAME tbox_dbus) + +set(TBOX_DBUS_HEADERS loop.h connection.h) +set(TBOX_DBUS_SOURCES loop.cpp connection.cpp) + +add_library(${TBOX_LIBRARY_NAME} ${TBOX_BUILD_LIB_TYPE} ${TBOX_DBUS_SOURCES}) +add_library(tbox::${TBOX_LIBRARY_NAME} ALIAS ${TBOX_LIBRARY_NAME}) + +set_target_properties( + ${TBOX_LIBRARY_NAME} PROPERTIES + VERSION ${TBOX_DBUS_VERSION} + SOVERSION ${TBOX_DBUS_VERSION_MAJOR} +) + +# install the target and create export-set +install( + TARGETS ${TBOX_LIBRARY_NAME} + EXPORT ${TBOX_LIBRARY_NAME}_targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +) + +# install header file +install( + FILES ${TBOX_DBUS_HEADERS} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/tbox/dbus +) + +# generate and install export file +install( + EXPORT ${TBOX_LIBRARY_NAME}_targets + FILE ${TBOX_LIBRARY_NAME}_targets.cmake + NAMESPACE tbox:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/tbox +) -- Gitee From ad87996481cf5b811d092d0b43ca3d159299ba7c Mon Sep 17 00:00:00 2001 From: lichunjun Date: Sat, 6 Jan 2024 15:10:02 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=E8=A7=A3=E5=86=B3=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E4=BD=BF=E7=94=A8cmake=E5=AF=B9dbus=E6=A8=A1=E5=9D=97=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E6=9E=84=E5=BB=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/dbus/CMakeLists.txt | 3 +++ modules/mqtt/CMakeLists.txt | 1 - version.mk | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/dbus/CMakeLists.txt b/modules/dbus/CMakeLists.txt index c172092..1cbc02f 100644 --- a/modules/dbus/CMakeLists.txt +++ b/modules/dbus/CMakeLists.txt @@ -32,6 +32,9 @@ set(TBOX_LIBRARY_NAME tbox_dbus) set(TBOX_DBUS_HEADERS loop.h connection.h) set(TBOX_DBUS_SOURCES loop.cpp connection.cpp) +find_package(DBus1 REQUIRED) +include_directories(${DBus1_INCLUDE_DIRS}) + add_library(${TBOX_LIBRARY_NAME} ${TBOX_BUILD_LIB_TYPE} ${TBOX_DBUS_SOURCES}) add_library(tbox::${TBOX_LIBRARY_NAME} ALIAS ${TBOX_LIBRARY_NAME}) diff --git a/modules/mqtt/CMakeLists.txt b/modules/mqtt/CMakeLists.txt index 8b9f9d1..2939bac 100644 --- a/modules/mqtt/CMakeLists.txt +++ b/modules/mqtt/CMakeLists.txt @@ -57,7 +57,6 @@ install( DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/tbox/mqtt ) - # generate and install export file install( EXPORT ${TBOX_LIBRARY_NAME}_targets diff --git a/version.mk b/version.mk index c66c74d..3a86780 100644 --- a/version.mk +++ b/version.mk @@ -1,4 +1,4 @@ # TBOX版本号 TBOX_VERSION_MAJOR := 1 TBOX_VERSION_MINOR := 7 -TBOX_VERSION_REVISION := 4 +TBOX_VERSION_REVISION := 5 -- Gitee