@@ -113,6 +113,16 @@ if (VIAMCPPSDK_USE_DYNAMIC_PROTOS)
113
113
)
114
114
endif ()
115
115
116
+ # List of names of non-compilable generated code
117
+ # The Switch component generates protobuf which uses `switch` as a namespace.
118
+ # This needs to be processed below.
119
+ set (VIAMCPPSDK_SWITCH_REPLACE_PATHS
120
+ ${PROTO_GEN_DIR} /component /switch/v1/switch.grpc.pb.cc
121
+ ${PROTO_GEN_DIR} /component /switch/v1/switch.grpc.pb.h
122
+ ${PROTO_GEN_DIR} /component /switch/v1/switch.pb.cc
123
+ ${PROTO_GEN_DIR} /component /switch/v1/switch.pb.h
124
+ )
125
+
116
126
add_custom_command (
117
127
OUTPUT
118
128
# Unfortunately, there isn't a good way to know in advance what
@@ -201,6 +211,10 @@ if (VIAMCPPSDK_USE_DYNAMIC_PROTOS)
201
211
${PROTO_GEN_DIR} /component /servo/v1/servo.grpc.pb.h
202
212
${PROTO_GEN_DIR} /component /servo/v1/servo.pb.cc
203
213
${PROTO_GEN_DIR} /component /servo/v1/servo.pb.h
214
+ ${PROTO_GEN_DIR} /component /switch/v1/switch.grpc.pb.cc
215
+ ${PROTO_GEN_DIR} /component /switch/v1/switch.grpc.pb.h
216
+ ${PROTO_GEN_DIR} /component /switch/v1/switch.pb.cc
217
+ ${PROTO_GEN_DIR} /component /switch/v1/switch.pb.h
204
218
${PROTO_GEN_DIR} /google/api/annotations.pb.cc
205
219
${PROTO_GEN_DIR} /google/api/annotations.pb.h
206
220
${PROTO_GEN_DIR} /google/api/httpbody.pb.cc
@@ -245,6 +259,9 @@ if (VIAMCPPSDK_USE_DYNAMIC_PROTOS)
245
259
COMMAND ${BUF_COMMAND} generate ${BUF_GOOGLE_API_SOURCE} --template buf.gen.yaml --path google/rpc --path google/api
246
260
COMMAND ${BUF_COMMAND} generate ${BUF_VIAM_GOUTILS_SOURCE} --template buf.gen.yaml
247
261
COMMAND ${BUF_COMMAND} generate ${BUF_VIAM_API_SOURCE} --template buf.gen.yaml --path ${BUF_PROTO_COMPONENTS_JOINED}
262
+
263
+ # After generating the protos, include a step to invoke a search-and-replace for switch -> switch_ in the Switch component files
264
+ COMMAND ${CMAKE_COMMAND} "-DSWITCH_REPLACE_PATHS=\" ${VIAMCPPSDK_SWITCH_REPLACE_PATHS} \" " -P ${CMAKE_CURRENT_SOURCE_DIR} /viamcppsdk_replace_switch.cmake
248
265
MAIN_DEPENDENCY buf.gen.yaml
249
266
)
250
267
@@ -328,6 +345,8 @@ target_sources(viamapi
328
345
${PROTO_GEN_DIR} /component /sensor/v1/sensor.pb.cc
329
346
${PROTO_GEN_DIR} /component /servo/v1/servo.grpc.pb.cc
330
347
${PROTO_GEN_DIR} /component /servo/v1/servo.pb.cc
348
+ ${PROTO_GEN_DIR} /component /switch/v1/switch.grpc.pb.cc
349
+ ${PROTO_GEN_DIR} /component /switch/v1/switch.pb.cc
331
350
${PROTO_GEN_DIR} /google/api/annotations.pb.cc
332
351
${PROTO_GEN_DIR} /google/api/http.pb.cc
333
352
${PROTO_GEN_DIR} /google/api/httpbody.pb.cc
@@ -390,6 +409,8 @@ target_sources(viamapi
390
409
${PROTO_GEN_DIR} /../../viam/api/component /sensor/v1/sensor.pb.h
391
410
${PROTO_GEN_DIR} /../../viam/api/component /servo/v1/servo.grpc.pb.h
392
411
${PROTO_GEN_DIR} /../../viam/api/component /servo/v1/servo.pb.h
412
+ ${PROTO_GEN_DIR} /../../viam/api/component /switch/v1/switch.grpc.pb.h
413
+ ${PROTO_GEN_DIR} /../../viam/api/component /switch/v1/switch.pb.h
393
414
${PROTO_GEN_DIR} /../../viam/api/google/api/annotations.pb.h
394
415
${PROTO_GEN_DIR} /../../viam/api/google/api/http.pb.h
395
416
${PROTO_GEN_DIR} /../../viam/api/google/api/httpbody.pb.h
0 commit comments