@@ -74,12 +74,23 @@ set(desktop_flatbuffers_schemas
7474 "${desktop_flatbuffers_schema_dir} /persisted_query_spec.fbs"
7575 "${desktop_flatbuffers_schema_dir} /persisted_tracked_query.fbs"
7676 "${desktop_flatbuffers_schema_dir} /persisted_user_write_record.fbs" )
77-
78- flatbuffers_generate_headers(
79- TARGET desktop_flatbuffers
80- INCLUDE "${CMAKE_CURRENT_LIST_DIR} "
81- INCLUDE_PREFIX "database/src/desktop/persistence"
82- SCHEMAS ${desktop_flatbuffers_schemas} )
77+ set (FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
78+ "--no-union-value-namespacing"
79+ "--gen-generated"
80+ "--gen-object-api"
81+ "--cpp-ptr-type" "flatbuffers::unique_ptr" )
82+ # Because of a bug in the version of Flatbuffers we are pinned to,
83+ # additional flags need to be set.
84+ set (FLATC_ARGS "${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS} " )
85+ set (DATABASE_PERSISTENCE_GEN_DIR
86+ "${FIREBASE_GEN_FILE_DIR} /database/src/desktop/persistence" )
87+ build_flatbuffers("${desktop_flatbuffers_schemas} "
88+ "${CMAKE_CURRENT_LIST_DIR} "
89+ "database_persistence_generated_includes"
90+ "${FIREBASE_FLATBUFFERS_DEPENDENCIES} "
91+ "${DATABASE_PERSISTENCE_GEN_DIR} "
92+ ""
93+ "" )
8394
8495# Source files used by the desktop implementation.
8596set (desktop_SRCS
@@ -130,7 +141,12 @@ set(desktop_SRCS
130141 src/desktop/view/limited_filter.cc
131142 src/desktop/view/ranged_filter.cc
132143 src/desktop/view/view.cc
133- src/desktop/view/view_processor.cc)
144+ src/desktop/view/view_processor.cc
145+ ${DATABASE_PERSISTENCE_GEN_DIR} /persisted_compound_write_generated.h
146+ ${DATABASE_PERSISTENCE_GEN_DIR} /persisted_query_params_generated.h
147+ ${DATABASE_PERSISTENCE_GEN_DIR} /persisted_query_spec_generated.h
148+ ${DATABASE_PERSISTENCE_GEN_DIR} /persisted_tracked_query_generated.h
149+ ${DATABASE_PERSISTENCE_GEN_DIR} /persisted_user_write_record_generated.h)
134150
135151if (ANDROID)
136152 set (database_platform_SRCS
@@ -165,7 +181,6 @@ else()
165181
166182 set (additional_link_LIB
167183 flatbuffers
168- desktop_flatbuffers
169184 firebase_rest_lib
170185 ${OPENSSL_CRYPTO_LIBRARY}
171186 leveldb
0 commit comments