Move generated protobuf files to binary directory.
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
This commit is contained in:
parent
6eb725de0e
commit
611ab05de0
|
|
@ -49,3 +49,25 @@ add_subdirectory(src)
|
||||||
if (BUILD_TESTS)
|
if (BUILD_TESTS)
|
||||||
add_subdirectory(tst)
|
add_subdirectory(tst)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
install (TARGETS etcd-cpp-api DESTINATION lib)
|
||||||
|
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/etcd/Client.hpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/etcd/SyncClient.hpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/etcd/Response.hpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/etcd/Value.hpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/etcd/Watcher.hpp
|
||||||
|
DESTINATION include/etcd)
|
||||||
|
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/etcd/v3/Transaction.hpp
|
||||||
|
DESTINATION include/etcd/v3)
|
||||||
|
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/proto/gen/proto/auth.pb.h
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/proto/gen/proto/kv.pb.h
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/proto/gen/proto/rpc.pb.h
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/proto/gen/proto/rpc.grpc.pb.h
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/proto/gen/proto/v3lock.pb.h
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/proto/gen/proto/v3lock.grpc.pb.h
|
||||||
|
DESTINATION include/etcd/proto)
|
||||||
|
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/proto/gen/proto/gogoproto/gogo.pb.h
|
||||||
|
DESTINATION include/etcd/proto/gogoproto)
|
||||||
|
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/proto/gen/proto/google/api/annotations.pb.h
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/proto/gen/proto/google/api/http.pb.h
|
||||||
|
DESTINATION include/etcd/proto/google/api)
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,25 @@
|
||||||
file(GLOB_RECURSE PROTO_SRCS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.proto")
|
file(GLOB_RECURSE PROTO_SRCS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.proto")
|
||||||
|
|
||||||
|
set(PROTO_GEN_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/gen/proto")
|
||||||
|
file(MAKE_DIRECTORY "${PROTO_GEN_OUT_DIR}")
|
||||||
|
|
||||||
# use `protobuf_generate` rather than `protobuf_generate_cpp` since we want to
|
# use `protobuf_generate` rather than `protobuf_generate_cpp` since we want to
|
||||||
# output the generated files to source dir, rather than binary dir.
|
# output the generated files to source dir, rather than binary dir.
|
||||||
protobuf_generate_latest(
|
protobuf_generate_latest(
|
||||||
LANGUAGE cpp
|
LANGUAGE cpp
|
||||||
OUT_VAR PROTO_GENERATES
|
OUT_VAR PROTO_GENERATES
|
||||||
PROTOC_OUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
|
PROTOC_OUT_DIR "${PROTO_GEN_OUT_DIR}"
|
||||||
PROTOS ${PROTO_SRCS}
|
PROTOS ${PROTO_SRCS}
|
||||||
)
|
)
|
||||||
compute_generated_srcs(PROTO_GENERATES_SRCS "${CMAKE_CURRENT_SOURCE_DIR}" false ${PROTO_SRCS})
|
compute_generated_srcs(PROTO_GENERATES_SRCS "${PROTO_GEN_OUT_DIR}" false ${PROTO_SRCS})
|
||||||
|
|
||||||
set(PROTO_GRPC_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/rpc.proto"
|
set(PROTO_GRPC_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/rpc.proto"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/v3lock.proto")
|
"${CMAKE_CURRENT_SOURCE_DIR}/v3lock.proto")
|
||||||
grpc_generate_cpp(PROTO_GRPC_GENERATES PROTO_GRPC_GENERATES_HDRS
|
grpc_generate_cpp(PROTO_GRPC_GENERATES PROTO_GRPC_GENERATES_HDRS
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
"${PROTO_GEN_OUT_DIR}"
|
||||||
${PROTO_GRPC_SRCS}
|
${PROTO_GRPC_SRCS}
|
||||||
)
|
)
|
||||||
compute_generated_srcs(PROTO_GRPC_GENERATES_SRCS "${CMAKE_CURRENT_SOURCE_DIR}" true ${PROTO_GRPC_SRCS})
|
compute_generated_srcs(PROTO_GRPC_GENERATES_SRCS "${PROTO_GEN_OUT_DIR}" true ${PROTO_GRPC_SRCS})
|
||||||
|
|
||||||
# populate `PROTOBUF_GENERATES` in the parent scope.
|
# populate `PROTOBUF_GENERATES` in the parent scope.
|
||||||
set(PROTOBUF_GENERATE_DEPS)
|
set(PROTOBUF_GENERATE_DEPS)
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ set_source_files_properties(${PROTOBUF_GENERATES} PROPERTIES GENERATED TRUE)
|
||||||
add_library(etcd-cpp-api SHARED ${CPP_CLIENT_SRC} ${PROTOBUF_GENERATES})
|
add_library(etcd-cpp-api SHARED ${CPP_CLIENT_SRC} ${PROTOBUF_GENERATES})
|
||||||
add_dependencies(etcd-cpp-api protobuf_generates)
|
add_dependencies(etcd-cpp-api protobuf_generates)
|
||||||
set_property(TARGET etcd-cpp-api PROPERTY CXX_STANDARD 11)
|
set_property(TARGET etcd-cpp-api PROPERTY CXX_STANDARD 11)
|
||||||
target_include_directories(etcd-cpp-api PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../proto)
|
|
||||||
|
|
||||||
target_link_libraries(etcd-cpp-api PUBLIC
|
target_link_libraries(etcd-cpp-api PUBLIC
|
||||||
${CPPREST_LIB}
|
${CPPREST_LIB}
|
||||||
|
|
@ -15,25 +14,5 @@ target_link_libraries(etcd-cpp-api PUBLIC
|
||||||
${PROTOBUF_LIBRARIES}
|
${PROTOBUF_LIBRARIES}
|
||||||
${OPENSSL_LIBRARIES}
|
${OPENSSL_LIBRARIES}
|
||||||
${GRPC_LIBRARIES})
|
${GRPC_LIBRARIES})
|
||||||
|
target_include_directories(etcd-cpp-api PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../proto/gen)
|
||||||
install (TARGETS etcd-cpp-api DESTINATION lib)
|
target_include_directories(etcd-cpp-api PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../proto/gen/proto)
|
||||||
install (FILES ../etcd/Client.hpp
|
|
||||||
../etcd/SyncClient.hpp
|
|
||||||
../etcd/Response.hpp
|
|
||||||
../etcd/Value.hpp
|
|
||||||
../etcd/Watcher.hpp
|
|
||||||
DESTINATION include/etcd)
|
|
||||||
install (FILES ../proto/auth.pb.h
|
|
||||||
../proto/kv.pb.h
|
|
||||||
../proto/rpc.pb.h
|
|
||||||
../proto/rpc.grpc.pb.h
|
|
||||||
../proto/v3lock.pb.h
|
|
||||||
../proto/v3lock.grpc.pb.h
|
|
||||||
DESTINATION include/etcd/proto)
|
|
||||||
install (FILES ../etcd/v3/Transaction.hpp
|
|
||||||
DESTINATION include/etcd/v3)
|
|
||||||
install (FILES ../proto/gogoproto/gogo.pb.h
|
|
||||||
DESTINATION include/etcd/proto/gogoproto)
|
|
||||||
install (FILES ../proto/google/api/annotations.pb.h
|
|
||||||
../proto/google/api/http.pb.h
|
|
||||||
DESTINATION include/etcd/proto/google/api)
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue