Hook John's kvstore up to the BlueSky implementation.
[bluesky.git] / kvstore / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2 set(CMAKE_BUILD_TYPE Debug)
3
4 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kvstore.pb.cc
5                           ${CMAKE_CURRENT_BINARY_DIR}/kvstore.pb.h
6                    COMMAND protoc --cpp_out=${CMAKE_CURRENT_BINARY_DIR}
7                                   --proto_path=${CMAKE_CURRENT_SOURCE_DIR}
8                                   ${CMAKE_CURRENT_SOURCE_DIR}/kvstore.proto
9                    DEPENDS kvstore.proto)
10
11 include_directories(${CMAKE_CURRENT_BINARY_DIR})
12
13 add_library(protobufrpc protobufrpc.cc socket_pool.cc workqueue.cc)
14 add_library(kvservice kvservice.cc backend.cc
15             ${CMAKE_CURRENT_BINARY_DIR}/kvstore.pb.cc)
16
17 add_executable(kvstore kvstore.cc)
18
19 add_library(kvclient SHARED
20             kvclient.cc kvservice.cc backend.cc kvstore.pb.cc
21             protobufrpc.cc socket_pool.cc workqueue.cc)
22 target_link_libraries(kvclient
23                       boost_thread-mt boost_regex-mt boost_system-mt
24                       boost_program_options-mt db protobuf pthread)
25
26 target_link_libraries(kvstore
27                       kvservice
28                       boost_thread-mt boost_regex-mt boost_system-mt
29                       boost_program_options-mt db protobuf protobufrpc pthread)