Index: third_party/flatbuffers/BUILD.gn |
diff --git a/third_party/flatbuffers/BUILD.gn b/third_party/flatbuffers/BUILD.gn |
index b48a36659269634d110e83f19926d76df2efd848..6407c35d7cd35e61ae87abba784c85a2a4a82bbf 100644 |
--- a/third_party/flatbuffers/BUILD.gn |
+++ b/third_party/flatbuffers/BUILD.gn |
@@ -9,26 +9,45 @@ config("flatbuffers_config") { |
include_dirs = [ "src/include" ] |
} |
+# The part of FlatBuffers that Chrome is interested in. |
source_set("flatbuffers") { |
sources = [ |
"src/include/flatbuffers/flatbuffers.h", |
- "src/include/flatbuffers/hash.h", |
] |
configs -= [ "//build/config/compiler:chromium_code" ] |
configs += [ "//build/config/compiler:no_chromium_code" ] |
+ |
public_configs = [ ":flatbuffers_config" ] |
} |
+# The complete FlatBuffers library, as required to build the flatc compiler and |
+# some of the tests. |
source_set("compiler_files") { |
+ include_dirs = [ "src/grpc" ] |
sources = [ |
+ "src/grpc/src/compiler/config.h", |
+ "src/grpc/src/compiler/cpp_generator.cc", |
+ "src/grpc/src/compiler/cpp_generator.h", |
+ "src/grpc/src/compiler/go_generator.cc", |
+ "src/grpc/src/compiler/go_generator.h", |
+ "src/grpc/src/compiler/schema_interface.h", |
"src/include/flatbuffers/code_generators.h", |
+ "src/include/flatbuffers/flatc.h", |
+ "src/include/flatbuffers/flexbuffers.h", |
+ "src/include/flatbuffers/grpc.h", |
+ "src/include/flatbuffers/hash.h", |
"src/include/flatbuffers/idl.h", |
+ "src/include/flatbuffers/reflection.h", |
+ "src/include/flatbuffers/reflection_generated.h", |
"src/include/flatbuffers/util.h", |
+ "src/src/code_generators.cpp", |
+ "src/src/flatc.cpp", |
"src/src/idl_gen_cpp.cpp", |
"src/src/idl_gen_fbs.cpp", |
"src/src/idl_gen_general.cpp", |
"src/src/idl_gen_go.cpp", |
+ "src/src/idl_gen_grpc.cpp", |
"src/src/idl_gen_js.cpp", |
"src/src/idl_gen_php.cpp", |
"src/src/idl_gen_python.cpp", |
@@ -45,7 +64,7 @@ source_set("compiler_files") { |
executable("flatc") { |
sources = [ |
- "src/src/flatc.cpp", |
+ "src/src/flatc_main.cpp", |
] |
deps = [ |
":compiler_files", |
@@ -60,25 +79,18 @@ flatbuffer("flatbuffers_samplebuffer") { |
testonly = true |
sources = [ |
# Disabled as workaround for crbug.com/611351 |
- # "src/tests/include_test1.fbs", |
- # "src/tests/include_test2.fbs", |
+ # "src/tests/include_test/include_test1.fbs", |
+ # "src/tests/include_test/sub/include_test2.fbs", |
"src/tests/monster_test.fbs", |
"src/tests/namespace_test/namespace_test1.fbs", |
"src/tests/namespace_test/namespace_test2.fbs", |
] |
+ flatc_include_dirs = [ "src/tests/include_test" ] |
} |
test("flatbuffers_unittest") { |
sources = [ |
- # The following files are not included in :flatbuffers |
- # but are listed here because test.cpp tests more than what will |
- # get included into Chrome (reflection and generation). |
- "src/include/reflection.h", |
- "src/include/reflection_generated.h", |
- |
- # This is the actual test. |
"src/tests/test.cpp", |
- "src/tests/test.h", |
] |
deps = [ |
":compiler_files", |
@@ -88,4 +100,10 @@ test("flatbuffers_unittest") { |
data = [ |
"src/tests/", |
] |
+ |
+ if (is_win) { |
+ # Suppress "object allocated on the heap may not be aligned 16". |
+ cflags = [ "/wd4316" ] |
+ } |
+ defines = [ "FLATBUFFERS_TRACK_VERIFIER_BUFFER_SIZE" ] |
} |