diff --git a/services/lib/src/CMakeLists.txt b/services/lib/src/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/services/lib/src/CMakeLists.txt @@ -0,0 +1,62 @@ +project(comm-services-common) +cmake_minimum_required(VERSION 3.4) +set(CMAKE_CXX_STANDARD 14) + +include(GNUInstallDirs) + +# Export reactors +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/client-base-reactors) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/server-base-reactors) + +file(GLOB COMMON_HDRS + ${CMAKE_CURRENT_SOURCE_DIR}/*.h +) + +file(GLOB COMMON_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp +) + +add_library(comm-services-common + ${COMMON_HDRS} + ${COMMON_SRCS} +) + +find_package(AWSSDK REQUIRED COMPONENTS core dynamodb) +find_package(Boost 1.40 COMPONENTS program_options REQUIRED) +find_package(protobuf REQUIRED) +find_package(glog REQUIRED) +find_package(gRPC REQUIRED) + +target_link_libraries(comm-services-common + glog::glog + gRPC::grpc++ + ${AWSSDK_LINK_LIBRARIES} + ${Boost_LIBRARIES} +) + +target_include_directories(comm-services-common + PUBLIC + $ + $ +) + +install(TARGETS comm-services-common EXPORT comm-services-common-export + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT comm-services-common + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT comm-services-common + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT comm-services-common +) + +install(FILES ${COMMON_HDRS} DESTINATION include) + +set(_pname ${PROJECT_NAME}) +export(TARGETS comm-services-common + NAMESPACE comm-services-common:: + FILE ${CMAKE_CURRENT_BINARY_DIR}/cmake/${_pname}/${_pname}-targets.cmake +) + +# For installation +install(EXPORT comm-services-common-export + FILE comm-services-common-targets.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/comm-services-common + NAMESPACE comm-services-common:: +) diff --git a/services/tunnelbroker/src/Database/DatabaseEntitiesTools.h b/services/lib/src/DatabaseEntitiesTools.h rename from services/tunnelbroker/src/Database/DatabaseEntitiesTools.h rename to services/lib/src/DatabaseEntitiesTools.h --- a/services/tunnelbroker/src/Database/DatabaseEntitiesTools.h +++ b/services/lib/src/DatabaseEntitiesTools.h @@ -1,12 +1,9 @@ #pragma once -#include "DeviceSessionItem.h" #include "Item.h" -#include "MessageItem.h" -#include "PublicKeyItem.h" -#include "SessionSignItem.h" #include +#include namespace comm { namespace network { diff --git a/services/lib/src/DynamoDBTools.h b/services/lib/src/DynamoDBTools.h --- a/services/lib/src/DynamoDBTools.h +++ b/services/lib/src/DynamoDBTools.h @@ -1,7 +1,5 @@ #pragma once -#include "Constants.h" - #include #include diff --git a/services/lib/src/DynamoDBTools.cpp b/services/lib/src/DynamoDBTools.cpp --- a/services/lib/src/DynamoDBTools.cpp +++ b/services/lib/src/DynamoDBTools.cpp @@ -1,5 +1,4 @@ #include "DynamoDBTools.h" -#include "Constants.h" #include "GlobalConstants.h" #include "GlobalTools.h"