Skip to content

Commit 66643d8

Browse files
committed
cmake, refactor: Use target_capnp_sources for examples
1 parent bd2dfe2 commit 66643d8

File tree

1 file changed

+10
-130
lines changed

1 file changed

+10
-130
lines changed

example/CMakeLists.txt

Lines changed: 10 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -2,154 +2,34 @@
22
# Distributed under the MIT software license, see the accompanying
33
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
44

5-
add_custom_command(
6-
OUTPUT
7-
init.capnp.h
8-
init.capnp.c++
9-
init.capnp.proxy.h
10-
init.capnp.proxy-server.c++
11-
init.capnp.proxy-client.c++
12-
init.capnp.proxy-types.c++
13-
init.capnp.proxy-types.h
14-
COMMAND mpgen "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/init.capnp" "${CMAKE_SOURCE_DIR}/include" "${capnp_PREFIX}/include"
15-
DEPENDS init.capnp mpgen
16-
)
17-
18-
add_custom_command(
19-
OUTPUT
20-
calculator.capnp.h
21-
calculator.capnp.c++
22-
calculator.capnp.proxy.h
23-
calculator.capnp.proxy-server.c++
24-
calculator.capnp.proxy-client.c++
25-
calculator.capnp.proxy-types.c++
26-
calculator.capnp.proxy-types.h
27-
COMMAND mpgen "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/calculator.capnp" "${CMAKE_SOURCE_DIR}/include" "${capnp_PREFIX}/include"
28-
DEPENDS calculator.capnp mpgen
29-
)
5+
include(${PROJECT_SOURCE_DIR}/cmake/LibmultiprocessMacros.cmake)
306

317
add_executable(mpcalculator
32-
calculator.capnp.h
33-
calculator.capnp.c++
34-
calculator.capnp.proxy.h
35-
calculator.capnp.proxy-server.c++
36-
calculator.capnp.proxy-client.c++
37-
calculator.capnp.proxy-types.c++
38-
calculator.capnp.proxy-types.h
398
calculator.cpp
40-
init.capnp.h
41-
init.capnp.c++
42-
init.capnp.proxy.h
43-
init.capnp.proxy-server.c++
44-
init.capnp.proxy-client.c++
45-
init.capnp.proxy-types.c++
46-
init.capnp.proxy-types.h
47-
printer.capnp.h
48-
printer.capnp.c++
49-
printer.capnp.proxy.h
50-
printer.capnp.proxy-server.c++
51-
printer.capnp.proxy-client.c++
52-
printer.capnp.proxy-types.c++
53-
printer.capnp.proxy-types.h
549
)
55-
target_include_directories(mpcalculator PUBLIC
56-
${CAPNP_INCLUDE_DIRECTORY}
57-
${CMAKE_CURRENT_SOURCE_DIR}
58-
${CMAKE_CURRENT_BINARY_DIR}
10+
target_capnp_sources(mpcalculator ${CMAKE_CURRENT_SOURCE_DIR} init.capnp calculator.capnp printer.capnp
11+
IMPORT_PATHS ${CMAKE_SOURCE_DIR}/include
5912
)
60-
target_link_libraries(mpcalculator PRIVATE CapnProto::capnp)
61-
target_link_libraries(mpcalculator PRIVATE CapnProto::capnp-rpc)
62-
target_link_libraries(mpcalculator PRIVATE CapnProto::kj)
63-
target_link_libraries(mpcalculator PRIVATE CapnProto::kj-async)
13+
target_include_directories(mpcalculator PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
6414
target_link_libraries(mpcalculator PRIVATE Threads::Threads)
65-
target_link_libraries(mpcalculator PRIVATE multiprocess)
66-
67-
add_custom_command(
68-
OUTPUT
69-
printer.capnp.h
70-
printer.capnp.c++
71-
printer.capnp.proxy.h
72-
printer.capnp.proxy-server.c++
73-
printer.capnp.proxy-client.c++
74-
printer.capnp.proxy-types.c++
75-
printer.capnp.proxy-types.h
76-
COMMAND mpgen "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/printer.capnp" "${CMAKE_SOURCE_DIR}/include" "${capnp_PREFIX}/include"
77-
DEPENDS printer.capnp mpgen
78-
)
7915

8016
add_executable(mpprinter
81-
calculator.capnp.c++
82-
calculator.capnp.h
83-
calculator.capnp.proxy-client.c++
84-
calculator.capnp.proxy-server.c++
85-
calculator.capnp.proxy-types.c++
86-
calculator.capnp.proxy-types.h
87-
calculator.capnp.proxy.h
88-
init.capnp.h
89-
init.capnp.c++
90-
init.capnp.proxy.h
91-
init.capnp.proxy-server.c++
92-
init.capnp.proxy-client.c++
93-
init.capnp.proxy-types.c++
94-
init.capnp.proxy-types.h
95-
printer.capnp.h
96-
printer.capnp.c++
97-
printer.capnp.proxy.h
98-
printer.capnp.proxy-server.c++
99-
printer.capnp.proxy-client.c++
100-
printer.capnp.proxy-types.c++
101-
printer.capnp.proxy-types.h
10217
printer.cpp
10318
)
104-
target_include_directories(mpprinter PUBLIC
105-
${CAPNP_INCLUDE_DIRECTORY}
106-
${CMAKE_CURRENT_SOURCE_DIR}
107-
${CMAKE_CURRENT_BINARY_DIR}
19+
target_capnp_sources(mpprinter ${CMAKE_CURRENT_SOURCE_DIR} init.capnp calculator.capnp printer.capnp
20+
IMPORT_PATHS ${CMAKE_SOURCE_DIR}/include
10821
)
109-
target_link_libraries(mpprinter PRIVATE CapnProto::capnp)
110-
target_link_libraries(mpprinter PRIVATE CapnProto::capnp-rpc)
111-
target_link_libraries(mpprinter PRIVATE CapnProto::kj)
112-
target_link_libraries(mpprinter PRIVATE CapnProto::kj-async)
22+
target_include_directories(mpprinter PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
11323
target_link_libraries(mpprinter PRIVATE Threads::Threads)
114-
target_link_libraries(mpprinter PRIVATE multiprocess)
11524

11625
add_executable(mpexample
117-
calculator.capnp.c++
118-
calculator.capnp.h
119-
calculator.capnp.proxy-client.c++
120-
calculator.capnp.proxy-server.c++
121-
calculator.capnp.proxy-types.c++
122-
calculator.capnp.proxy-types.h
123-
calculator.capnp.proxy.h
124-
init.capnp.c++
125-
init.capnp.h
126-
init.capnp.proxy-client.c++
127-
init.capnp.proxy-server.c++
128-
init.capnp.proxy-types.c++
129-
init.capnp.proxy-types.h
130-
init.capnp.proxy.h
131-
printer.capnp.h
132-
printer.capnp.c++
133-
printer.capnp.proxy.h
134-
printer.capnp.proxy-server.c++
135-
printer.capnp.proxy-client.c++
136-
printer.capnp.proxy-types.c++
137-
printer.capnp.proxy-types.h
138-
printer.h
139-
calculator.h
14026
example.cpp
14127
)
142-
target_include_directories(mpexample PUBLIC
143-
${CAPNP_INCLUDE_DIRECTORY}
144-
${CMAKE_CURRENT_SOURCE_DIR}
145-
${CMAKE_CURRENT_BINARY_DIR}
28+
target_capnp_sources(mpexample ${CMAKE_CURRENT_SOURCE_DIR} init.capnp calculator.capnp printer.capnp
29+
IMPORT_PATHS ${CMAKE_SOURCE_DIR}/include
14630
)
147-
target_link_libraries(mpexample PRIVATE CapnProto::capnp)
148-
target_link_libraries(mpexample PRIVATE CapnProto::capnp-rpc)
149-
target_link_libraries(mpexample PRIVATE CapnProto::kj)
150-
target_link_libraries(mpexample PRIVATE CapnProto::kj-async)
31+
target_include_directories(mpexample PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
15132
target_link_libraries(mpexample PRIVATE Threads::Threads)
152-
target_link_libraries(mpexample PRIVATE multiprocess)
15333
target_link_libraries(mpexample PRIVATE stdc++fs)
15434

15535
add_custom_target(example DEPENDS mpexample mpcalculator mpprinter)

0 commit comments

Comments
 (0)