You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.5 KiB
CMake
39 lines
1.5 KiB
CMake
# A Cap'n Proto sample project.
|
|
#
|
|
# To build (non-MSVC):
|
|
# 1. Install Cap'n Proto somewhere ($PREFIX below):
|
|
#
|
|
# mkdir capnproto/build
|
|
# cd capnproto/build
|
|
# cmake ../c++ -DCMAKE_INSTALL_PREFIX=$PREFIX
|
|
# cmake --build . --target install
|
|
#
|
|
# 2. Ensure Cap'n Proto's executables are on the PATH, then build the sample project:
|
|
#
|
|
# export PATH=$PREFIX/bin:$PATH
|
|
# mkdir ../build-samples
|
|
# cd ../build-samples
|
|
# cmake ../c++/samples
|
|
# cmake --build .
|
|
|
|
project("Cap'n Proto Samples" CXX)
|
|
cmake_minimum_required(VERSION 3.1)
|
|
|
|
find_package(CapnProto CONFIG REQUIRED)
|
|
|
|
capnp_generate_cpp(addressbookSources addressbookHeaders addressbook.capnp)
|
|
add_executable(addressbook addressbook.c++ ${addressbookSources})
|
|
target_link_libraries(addressbook PRIVATE CapnProto::capnp)
|
|
target_include_directories(addressbook PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
# Don't build the rpc sample if find_package() found an installation of Cap'n Proto lite.
|
|
if(TARGET CapnProto::capnp-rpc)
|
|
capnp_generate_cpp(calculatorSources calculatorHeaders calculator.capnp)
|
|
add_executable(calculator-client calculator-client.c++ ${calculatorSources})
|
|
add_executable(calculator-server calculator-server.c++ ${calculatorSources})
|
|
target_link_libraries(calculator-client PRIVATE CapnProto::capnp-rpc)
|
|
target_link_libraries(calculator-server PRIVATE CapnProto::capnp-rpc)
|
|
target_include_directories(calculator-client PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
|
target_include_directories(calculator-server PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
|
endif()
|