capnproto

FORK: Cap'n Proto serialization/RPC system - core tools and C++ library
git clone https://git.neptards.moe/neptards/capnproto.git
Log | Files | Refs | README | LICENSE

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()