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