Files
ce_cdm/third_party/protoc.gypi
2019-02-28 16:25:30 -08:00

76 lines
2.0 KiB
Python

# Copyright 2015 Google Inc. All rights reserved.
{
'variables': {
'cc_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out',
'proto_in_dir%': '.',
},
'conditions': [
['protobuf_config=="system"', {
# protobuf_lib is a library setting.
'direct_dependent_settings': {
'libraries': [
'<(protobuf_lib)',
],
},
}],
['protobuf_config=="target"', {
# protobuf_lib is a gyp target.
'dependencies': [
'<(protobuf_lib_target)',
'<(protoc_host_target)',
],
'export_dependent_settings': [
'<(protobuf_lib_target)',
'<(protoc_host_target)',
],
}],
['protobuf_config=="source"', {
# protobuf_lib is a source folder.
# We use the targets in protobuf.gypi.
'dependencies': [
'protoc#host',
'protobuf_lite',
],
'export_dependent_settings': [
'protobuf_lite',
],
'variables': {
# Since we are building our own protoc, override protoc_bin.
'protoc_bin': '<(PRODUCT_DIR)/protoc',
},
}],
],
'rules': [
{
'rule_name': 'genproto',
'extension': 'proto',
'outputs': [
'<(cc_dir)/<(RULE_INPUT_ROOT).pb.cc',
'<(cc_dir)/<(RULE_INPUT_ROOT).pb.h',
],
'msvs_cygwin_shell': '0', # Don't run action in a CYGWIN shell.
'action': [
'<(protoc_bin)',
'--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': [
'<(cc_dir)',
],
'direct_dependent_settings': {
'include_dirs': [
'<(cc_dir)',
]
},
# This target exports a hard dependency because it generates header
# files.
'hard_dependency': 1,
}