@@ -197,8 +197,9 @@ macro JAVA_PROTO_PLUGIN(NAME, TOOL, DEPS[]) {
197
197
SET(JAVA_PROTOBUF_PEERS $JAVA_PROTOBUF_PEERS $DEPS)
198
198
}
199
199
200
+ _ADD_SEM_PROP_IF_NON_EMPTY__CMDS=target_properties-ITEM && target_properties-name $Prop && target_properties-value $Args
200
201
macro _ADD_SEM_PROP_IF_NON_EMPTY(Prop, Args...) {
201
- .SEM=${pre=&& target_properties-ITEM && target_properties-name $Prop && target_properties-value :Args}
202
+ .SEM=$IF(${not;empty :Args} THEN $_ADD_SEM_PROP_IF_NON_EMPTY__CMDS)
202
203
}
203
204
204
205
# tag:proto tag:java-specific
@@ -216,7 +217,7 @@ macro WITH_KOTLIN_GRPC() {
216
217
# tag:proto tag:cpp-specific
217
218
macro _ADD_CPP_PROTO_OUT(Suf) {
218
219
SET_APPEND(CPP_PROTO_OUTS \${norel;output;suf=$Suf;nopath;noext:File})
219
- SET_APPEND(PROTOC_EXTRA_OUTS_SEM && protoc_extra_outs $Suf \${hide;output;suf=.o:Suf} \$_ADD_SEM_PROP_IF_NON_EMPTY(PROTO_NAMESPACE $PROTO_NAMESPACE))
220
+ SET_APPEND(PROTOC_EXTRA_OUTS_SEM && protoc_extra_outs $Suf && \$_ADD_SEM_PROP_IF_NON_EMPTY(PROTO_NAMESPACE $PROTO_NAMESPACE))
220
221
221
222
# XXX fix variable expansion in plugins
222
223
SET(CPP_PROTO_SUFFIXES $CPP_PROTO_SUFFIXES $Suf)
@@ -232,7 +233,8 @@ CPP_PROTOBUF_PEERS=
232
233
### Define protoc plugin for C++ with given Name that emits code into regular outputs
233
234
### using Tool. Extra dependencies are passed via DEPS.
234
235
macro CPP_PROTO_PLUGIN0(NAME, TOOL, DEPS[], EXTRA_OUT_FLAG="") {
235
- .SEM=target_macroses-ITEM && target_macroses-macro target_proto_plugin && target_macroses-args $NAME ${tool;rootrel:TOOL} ${hide;output;suf=.fake.o:NAME}
236
+ .SEM=target_macroses-ITEM && target_macroses-macro target_proto_plugin && target_macroses-args $NAME ${tool:TOOL} ${hide;output;suf=.fake.o:NAME}
237
+ .STRUCT_SEM=yes
236
238
SET_APPEND(CPP_PROTO_OPTS $_PROTO_PLUGIN_ARGS_BASE($NAME $TOOL $EXTRA_OUT_FLAG))
237
239
238
240
# XXX fix variable expansion in plugins
@@ -419,7 +421,7 @@ macro YT_ORM_PROTO_YSON(OUT_OPTS[], Files...) {
419
421
420
422
_SEM_CPP_PROTO_CMD=target_options-privates-ITEM && target_options-privates-option target_proto_messages && target_options-privates-args ${input:File} \
421
423
$CPP_PROTO_OUTS_SEM ${hide;output;suf=${OBJ_SUF}.pb.o:File} $DEFAULT_PROTOC_TOOLS \
422
- $PROTOC_EXTRA_OUTS_SEM \
424
+ && $PROTOC_EXTRA_OUTS_SEM \
423
425
&& platform_vars-COMMON_PROTOC_FLAGS "" \
424
426
&& target_macroses-ITEM && target_macroses-macro target_proto_outs && target_macroses-args --cpp_out=$ARCADIA_BUILD_ROOT/$PROTO_NAMESPACE $PROTOC_STYLEGUIDE_OUT \
425
427
&& target_macroses-ITEM && target_macroses-macro target_proto_addincls && target_macroses-args ./$PROTO_NAMESPACE $ARCADIA_ROOT/$PROTO_NAMESPACE ${_PROTO__INCLUDE} $ARCADIA_BUILD_ROOT $PROTOBUF_INCLUDE_PATH
0 commit comments