58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
# Copyright 2014 Google Inc. All rights reserved.
|
|
{
|
|
'variables': {
|
|
'cc_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out/<(proto_out_dir)',
|
|
'proto_in_dir%': '.',
|
|
},
|
|
'conditions': [
|
|
['use_system_protobuf=="false"', {
|
|
'variables': {
|
|
'protoc_dir': '<(PRODUCT_DIR)',
|
|
},
|
|
'dependencies': [
|
|
'<(protobuf_gyp):protoc#host',
|
|
'<(protobuf_gyp):protobuf_lite',
|
|
],
|
|
'export_dependent_settings': [
|
|
# Direct dependents of protobuf_lite have the correct protobuf include
|
|
# path, so export this as a dep to anyone who depends on the sources
|
|
# generated by this target.
|
|
'<(protobuf_gyp):protobuf_lite',
|
|
],
|
|
}],
|
|
],
|
|
'rules': [
|
|
{
|
|
'rule_name': 'genproto',
|
|
'extension': 'proto',
|
|
'outputs': [
|
|
'<(cc_dir)/<(RULE_INPUT_ROOT).pb.cc',
|
|
'<(cc_dir)/<(RULE_INPUT_ROOT).pb.h',
|
|
],
|
|
'action': [
|
|
'<(protoc_dir)/protoc',
|
|
'--proto_path=<(proto_in_dir)',
|
|
# Naively you'd use <(RULE_INPUT_PATH) here, but protoc requires
|
|
# --proto_path is a strict prefix of the path given as an argument.
|
|
'<(proto_in_dir)/<(RULE_INPUT_ROOT)<(RULE_INPUT_EXT)',
|
|
'--cpp_out=<(cc_dir)',
|
|
],
|
|
'message': 'Generating C++ code from <(RULE_INPUT_PATH) ccdir=<(cc_dir)',
|
|
'process_outputs_as_sources': 1,
|
|
},
|
|
],
|
|
'include_dirs': [
|
|
'<(SHARED_INTERMEDIATE_DIR)/protoc_out',
|
|
'<(proto_out_dir)',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
'<(SHARED_INTERMEDIATE_DIR)/protoc_out',
|
|
'<(cc_dir)',
|
|
]
|
|
},
|
|
# This target exports a hard dependency because it generates header
|
|
# files.
|
|
'hard_dependency': 1,
|
|
}
|