From 27d96a294799993067d6eca9a3d406f756a8d51e Mon Sep 17 00:00:00 2001 From: jsonwu Date: Thu, 23 Jan 2025 13:08:51 +0800 Subject: [PATCH 1/2] fix bug when build core only --- .gitignore | 3 +++ etcd-cpp-api-config.in.cmake | 2 +- src/CMakeLists.txt | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6ffd637..d562403 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,8 @@ proto/**/*.pb.cc proto/**/*.pb.h default.etcd/ +# vscode +.vscode/ + # vscode-clangd .cache/ diff --git a/etcd-cpp-api-config.in.cmake b/etcd-cpp-api-config.in.cmake index c1a9047..23bf32f 100644 --- a/etcd-cpp-api-config.in.cmake +++ b/etcd-cpp-api-config.in.cmake @@ -15,7 +15,7 @@ if(NOT gRPC_FOUND) find_dependency(GRPC) endif() -find_dependency(cpprestsdk) +find_package(cpprestsdk QUIET) if(cpprestsdk_FOUND) set(CPPREST_LIB cpprestsdk::cpprest) endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 19687db..ddeed34 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -17,6 +17,10 @@ file(GLOB_RECURSE CPP_CLIENT_CORE_SRC "${CMAKE_CURRENT_SOURCE_DIR}/**/*.cpp" ) +if(BUILD_ETCD_CORE_ONLY) + list(REMOVE_ITEM CPP_CLIENT_CORE_SRC "${CMAKE_CURRENT_SOURCE_DIR}/Client.cpp") +endif() + add_library(etcd-cpp-api-core-objects OBJECT ${CPP_CLIENT_CORE_SRC} ${PROTOBUF_GENERATES}) use_cxx(etcd-cpp-api-core-objects) set_exceptions(etcd-cpp-api-core-objects) From 59c22311f335c7209b0d5f45e2526276da45f66a Mon Sep 17 00:00:00 2001 From: waruto210 Date: Sat, 1 Feb 2025 16:15:44 +0800 Subject: [PATCH 2/2] only find cpprestsdk when not set BUILD_ETCD_CORE_ONLY --- etcd-cpp-api-config.in.cmake | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/etcd-cpp-api-config.in.cmake b/etcd-cpp-api-config.in.cmake index 23bf32f..c12b748 100644 --- a/etcd-cpp-api-config.in.cmake +++ b/etcd-cpp-api-config.in.cmake @@ -15,9 +15,11 @@ if(NOT gRPC_FOUND) find_dependency(GRPC) endif() -find_package(cpprestsdk QUIET) -if(cpprestsdk_FOUND) - set(CPPREST_LIB cpprestsdk::cpprest) +if (NOT @BUILD_ETCD_CORE_ONLY@) + find_dependency(cpprestsdk) + if(cpprestsdk_FOUND) + set(CPPREST_LIB cpprestsdk::cpprest) + endif() endif() set(ETCD_CPP_HOME "${CMAKE_CURRENT_LIST_DIR}/../../..")