CMakeLists.txt (1564B)
1 # A Cap'n Proto sample project. 2 # 3 # To build (non-MSVC): 4 # 1. Install Cap'n Proto somewhere ($PREFIX below): 5 # 6 # mkdir capnproto/build 7 # cd capnproto/build 8 # cmake ../c++ -DCMAKE_INSTALL_PREFIX=$PREFIX 9 # cmake --build . --target install 10 # 11 # 2. Ensure Cap'n Proto's executables are on the PATH, then build the sample project: 12 # 13 # export PATH=$PREFIX/bin:$PATH 14 # mkdir ../build-samples 15 # cd ../build-samples 16 # cmake ../c++/samples 17 # cmake --build . 18 19 project("Cap'n Proto Samples" CXX) 20 cmake_minimum_required(VERSION 3.1) 21 22 find_package(CapnProto CONFIG REQUIRED) 23 24 capnp_generate_cpp(addressbookSources addressbookHeaders addressbook.capnp) 25 add_executable(addressbook addressbook.c++ ${addressbookSources}) 26 target_link_libraries(addressbook PRIVATE CapnProto::capnp) 27 target_include_directories(addressbook PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) 28 29 # Don't build the rpc sample if find_package() found an installation of Cap'n Proto lite. 30 if(TARGET CapnProto::capnp-rpc) 31 capnp_generate_cpp(calculatorSources calculatorHeaders calculator.capnp) 32 add_executable(calculator-client calculator-client.c++ ${calculatorSources}) 33 add_executable(calculator-server calculator-server.c++ ${calculatorSources}) 34 target_link_libraries(calculator-client PRIVATE CapnProto::capnp-rpc) 35 target_link_libraries(calculator-server PRIVATE CapnProto::capnp-rpc) 36 target_include_directories(calculator-client PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) 37 target_include_directories(calculator-server PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) 38 endif()