| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//third_party/protobuf/proto_library.gni") |
| |
| # Use a group here to allow external targets to depend on "cc/proto" instead of |
| # cc/proto:cc_proto. We need a group because other component targets are named |
| # "proto" which breaks component builds. A group doesn't have the same issue. |
| group("proto") { |
| public_deps = [ |
| ":cc_proto", |
| ] |
| } |
| |
| component("cc_proto") { |
| # Only expose the target to the "proto" group. |
| visibility = [ ":proto" ] |
| |
| public_deps = [ |
| ":proto_internal", |
| ] |
| } |
| |
| proto_library("proto_internal") { |
| # Only expose the target to the "cc_proto" target. |
| visibility = [ ":cc_proto" ] |
| |
| sources = [ |
| # TODO(dtrainor): Move protos to their correct packages once it's possible |
| # to include protos from other directories/targets (crbug.com/542423). |
| "begin_main_frame_and_commit_state.proto", |
| "commit_earlyout_reason.proto", |
| "compositor_message.proto", |
| "compositor_message_to_impl.proto", |
| "compositor_message_to_main.proto", |
| "display_item.proto", |
| "element_id.proto", |
| "layer.proto", |
| "layer_position_constraint.proto", |
| "layer_selection_bound.proto", |
| "layer_tree_debug_state.proto", |
| "layer_tree_host.proto", |
| "layer_tree_settings.proto", |
| "managed_memory_policy.proto", |
| "memory_allocation.proto", |
| "point.proto", |
| "point3f.proto", |
| "pointf.proto", |
| "property_tree.proto", |
| "recording_source.proto", |
| "rect.proto", |
| "rectf.proto", |
| "region.proto", |
| "renderer_settings.proto", |
| "scroll_offset.proto", |
| "size.proto", |
| "sizef.proto", |
| "skregion.proto", |
| "skrrect.proto", |
| "skxfermode.proto", |
| "synced_property.proto", |
| "transform.proto", |
| "vector2d.proto", |
| "vector2df.proto", |
| ] |
| |
| deps = [ |
| "//third_party/protobuf:protobuf_lite", |
| ] |
| |
| cc_generator_options = "dllexport_decl=CC_PROTO_EXPORT:" |
| cc_include = "cc/proto/cc_proto_export.h" |
| component_build_force_source_set = true |
| defines = [ "CC_PROTO_IMPLEMENTATION" ] |
| |
| # Warn if clang creates exit destructors. |
| extra_configs = [ "//build/config/compiler:wexit_time_destructors" ] |
| } |