From f2d8330b08729341da9668f55e31b2955cba1346 Mon Sep 17 00:00:00 2001 From: Tao He Date: Mon, 21 Dec 2020 16:16:40 +0800 Subject: [PATCH] Fixes when cpprestsdk is a submodule of external project. Signed-off-by: Tao He --- CMakeLists.txt | 9 ++++++++- src/CMakeLists.txt | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ec6314f..c37f019 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,7 +29,13 @@ endif() find_package(OpenSSL REQUIRED) find_package(Protobuf REQUIRED) -find_package(cpprestsdk REQUIRED) +find_package(cpprestsdk) +if(cpprestsdk_FOUND) + set(CPPREST_INCLUDE_DIR) +else() + find_library(CPPREST_LIB NAMES cpprest) + find_path(CPPREST_INCLUDE_DIR NAMES cpprest/http_client.h) +endif() find_package(gRPC) if(gRPC_FOUND) @@ -47,6 +53,7 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/GenerateProtobuf.cmake) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/proto) include_directories(SYSTEM ${Boost_INCLUDE_DIR} + ${CPPREST_INCLUDE_DIR} ${PROTOBUF_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 23f5bbd..d8ce50f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -8,12 +8,18 @@ add_library(etcd-cpp-api ${CPP_CLIENT_SRC} ${PROTOBUF_GENERATES}) add_dependencies(etcd-cpp-api protobuf_generates) set_property(TARGET etcd-cpp-api PROPERTY CXX_STANDARD 11) +if(cpprestsdk_FOUND) + target_link_libraries(etcd-cpp-api PUBLIC cpprestsdk::cpprest) +else() + target_link_libraries(etcd-cpp-api PUBLIC ${CPPREST_LIB}) +endif() + target_link_libraries(etcd-cpp-api PUBLIC - cpprestsdk::cpprest ${Boost_LIBRARIES} ${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} ${GRPC_LIBRARIES}) + target_include_directories(etcd-cpp-api PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../proto/gen) target_include_directories(etcd-cpp-api PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../proto/gen/proto)