etcd-cpp-apiv3/src/CMakeLists.txt

31 lines
1.2 KiB
CMake

file(GLOB_RECURSE CPP_CLIENT_SRC
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/*.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/**/*.cpp")
set_source_files_properties(${PROTOBUF_GENERATES} PROPERTIES GENERATED TRUE)
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
${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)
if (WIN32 AND BUILD_SHARED_LIBS)
install (TARGETS etcd-cpp-api RUNTIME DESTINATION bin)
else()
install (TARGETS etcd-cpp-api LIBRARY DESTINATION lib)
endif()