cannam@147: # A Cap'n Proto sample project. cannam@147: # cannam@147: # To build (non-MSVC): cannam@147: # 1. Install Cap'n Proto somewhere ($PREFIX below): cannam@147: # cannam@147: # mkdir capnproto/build cannam@147: # cd capnproto/build cannam@147: # cmake ../c++ -DCMAKE_INSTALL_PREFIX=$PREFIX cannam@147: # cmake --build . --target install cannam@147: # cannam@147: # 2. Ensure Cap'n Proto's executables are on the PATH, then build the sample project: cannam@147: # cannam@147: # export PATH=$PREFIX/bin:$PATH cannam@147: # mkdir ../build-samples cannam@147: # cd ../build-samples cannam@147: # cmake ../c++/samples cannam@147: # cmake --build . cannam@147: cannam@147: project("Cap'n Proto Samples" CXX) cannam@147: cmake_minimum_required(VERSION 3.1) cannam@147: cannam@147: find_package(CapnProto CONFIG REQUIRED) cannam@147: cannam@147: capnp_generate_cpp(addressbookSources addressbookHeaders addressbook.capnp) cannam@147: add_executable(addressbook addressbook.c++ ${addressbookSources}) cannam@147: target_link_libraries(addressbook CapnProto::capnp) cannam@147: target_include_directories(addressbook PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) cannam@147: cannam@147: capnp_generate_cpp(calculatorSources calculatorHeaders calculator.capnp) cannam@147: add_executable(calculator-client calculator-client.c++ ${calculatorSources}) cannam@147: add_executable(calculator-server calculator-server.c++ ${calculatorSources}) cannam@147: target_link_libraries(calculator-client CapnProto::capnp-rpc) cannam@147: target_link_libraries(calculator-server CapnProto::capnp-rpc) cannam@147: target_include_directories(calculator-client PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) cannam@147: target_include_directories(calculator-server PRIVATE ${CMAKE_CURRENT_BINARY_DIR})