Skip to content

Commit cff3b63

Browse files
committed
Change Firebase C++ usage of Flatbuffer CMake back to old method
The newer method does not have a way to add a dependency prior to running flatc, which is needed when doing an Android or iOS build. PiperOrigin-RevId: 315564118
1 parent 517b3f1 commit cff3b63

File tree

3 files changed

+33
-28
lines changed

3 files changed

+33
-28
lines changed

app/CMakeLists.txt

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,16 @@ set(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
7070
"--gen-generated"
7171
"--gen-object-api"
7272
"--cpp-ptr-type" "flatbuffers::unique_ptr")
73-
flatbuffers_generate_headers(
74-
TARGET generate_app_fbs
75-
SCHEMAS "${CMAKE_CURRENT_LIST_DIR}/google_services.fbs"
76-
FLAGS ${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}
77-
INCLUDE ${FIREBASE_FLATBUFFERS_DEPENDENCIES}
78-
INCLUDE_PREFIX "app"
79-
)
73+
# Because of a bug in the version of Flatbuffers we are pinned to,
74+
# additional flags need to be set.
75+
set(FLATC_ARGS "${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}")
76+
build_flatbuffers("${CMAKE_CURRENT_LIST_DIR}/google_services.fbs"
77+
""
78+
"app_generated_includes"
79+
"${FIREBASE_FLATBUFFERS_DEPENDENCIES}"
80+
"${FIREBASE_GEN_FILE_DIR}/app"
81+
""
82+
"")
8083

8184
set(log_common_SRCS
8285
src/log.cc
@@ -294,6 +297,7 @@ add_library(firebase_app STATIC
294297
${internal_HDRS}
295298
${utility_HDRS}
296299
${app_platform_HDRS}
300+
${FIREBASE_GEN_FILE_DIR}/app/google_services_generated.h
297301
memory/atomic.h
298302
meta/move.h
299303
memory/unique_ptr.h
@@ -326,7 +330,6 @@ target_link_libraries(firebase_app
326330
PRIVATE
327331
flatbuffers
328332
${LIBSECRET_LIBRARIES}
329-
generate_app_fbs
330333
)
331334
# Automatically include headers that might not be declared.
332335
if(MSVC)

app/rest/tests/CMakeLists.txt

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,16 @@ set(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
1919
"--gen-generated"
2020
"--gen-object-api"
2121
"--cpp-ptr-type" "flatbuffers::unique_ptr")
22-
flatbuffers_generate_headers(
23-
TARGET generate_app_rest_tests_fbs
24-
SCHEMAS "${CMAKE_CURRENT_LIST_DIR}/testdata/sample.fbs"
25-
FLAGS ${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}
26-
INCLUDE ${FIREBASE_FLATBUFFERS_DEPENDENCIES}
27-
INCLUDE_PREFIX "app/rest"
28-
)
22+
# Because of a bug in the version of Flatbuffers we are pinned to,
23+
# additional flags need to be set.
24+
set(FLATC_ARGS "${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}")
25+
build_flatbuffers("${CMAKE_CURRENT_LIST_DIR}/testdata/sample.fbs"
26+
""
27+
"app_rest_generated_includes"
28+
"${FIREBASE_FLATBUFFERS_DEPENDENCIES}"
29+
"${FIREBASE_GEN_FILE_DIR}/app/rest"
30+
""
31+
"")
2932

3033
binary_to_array("sample_resource"
3134
"${CMAKE_CURRENT_LIST_DIR}/testdata/sample.fbs"
@@ -35,18 +38,14 @@ binary_to_array("sample_resource"
3538
add_library(sample_resource_lib STATIC
3639
${sample_resource_source}
3740
${sample_resource_header}
41+
${FIREBASE_GEN_FILE_DIR}/app/rest/sample_generated.h
3842
)
3943

4044
target_include_directories(sample_resource_lib
4145
PUBLIC
4246
${FLATBUFFERS_SOURCE_DIR}/include
4347
)
4448

45-
target_link_libraries(sample_resource_lib
46-
PUBLIC
47-
generate_app_rest_tests_fbs
48-
)
49-
5049
firebase_cpp_cc_test(firebase_app_rest_request_test
5150
SOURCES
5251
request_test.h

messaging/CMakeLists.txt

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,16 @@ set(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
2222
"--cpp-ptr-type" "flatbuffers::unique_ptr")
2323
set(flatbuffer_schemas
2424
${CMAKE_CURRENT_LIST_DIR}/src/android/schemas/messaging.fbs)
25-
flatbuffers_generate_headers(
26-
TARGET generate_messaging_fbs
27-
SCHEMAS "${flatbuffer_schemas}"
28-
FLAGS ${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}
29-
INCLUDE ${FIREBASE_FLATBUFFERS_DEPENDENCIES}
30-
INCLUDE_PREFIX "messaging"
31-
)
25+
# Because of a bug in the version of Flatbuffers we are pinned to,
26+
# additional flags need to be set.
27+
set(FLATC_ARGS "${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}")
28+
build_flatbuffers("${flatbuffer_schemas}"
29+
""
30+
"generate_messaging_fbs"
31+
"${FIREBASE_FLATBUFFERS_DEPENDENCIES}"
32+
"${FIREBASE_GEN_FILE_DIR}/messaging"
33+
""
34+
"")
3235

3336
# Common source files used by all platforms
3437
set(common_SRCS
@@ -37,6 +40,7 @@ set(common_SRCS
3740

3841
# Source files used by the Android implementation.
3942
set(android_SRCS
43+
${FIREBASE_GEN_FILE_DIR}/messaging/messaging_generated.h
4044
src/android/cpp/message_reader.cc
4145
src/android/cpp/message_reader.h
4246
src/android/cpp/messaging.cc)
@@ -76,7 +80,6 @@ if(ANDROID)
7680
target_link_libraries(firebase_messaging
7781
PRIVATE
7882
flatbuffers
79-
generate_messaging_fbs
8083
)
8184
endif()
8285
# Public headers all refer to each other relative to the src/include directory,

0 commit comments

Comments
 (0)