Build system cleanup.
[bluesky.git] / kvstore / CMakeLists.txt
1 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kvstore.pb.cc
2                           ${CMAKE_CURRENT_BINARY_DIR}/kvstore.pb.h
3                    COMMAND protoc --cpp_out=${CMAKE_CURRENT_BINARY_DIR}
4                                   --proto_path=${CMAKE_CURRENT_SOURCE_DIR}
5                                   ${CMAKE_CURRENT_SOURCE_DIR}/kvstore.proto
6                    DEPENDS kvstore.proto)
7
8 include_directories(${CMAKE_CURRENT_BINARY_DIR})
9
10 add_library(protobufrpc protobufrpc.cc socket_pool.cc workqueue.cc)
11 add_library(kvservice kvservice.cc backend.cc
12             ${CMAKE_CURRENT_BINARY_DIR}/kvstore.pb.cc)
13
14 add_executable(kvstore kvstore.cc)
15
16 add_library(kvclient SHARED
17             kvclient.cc kvservice.cc backend.cc kvstore.pb.cc
18             protobufrpc.cc socket_pool.cc workqueue.cc)
19 target_link_libraries(kvclient
20                       boost_thread-mt boost_regex-mt boost_system-mt
21                       boost_program_options-mt db protobuf pthread)
22
23 target_link_libraries(kvstore
24                       kvservice
25                       boost_thread-mt boost_regex-mt boost_system-mt
26                       boost_program_options-mt db protobuf protobufrpc pthread)