Skip to content

Commit bac023d

Browse files
committed
Update the open source build with the updates to IID
Because the secure logic was moved from Auth to App, libsecret is now needed as a dependency when building App via open source. Add the instance_id_desktop_impl as a target, that the desktop versions of instance id and remote config depends on. PiperOrigin-RevId: 250909017
1 parent 3660c1f commit bac023d

File tree

6 files changed

+94
-11
lines changed

6 files changed

+94
-11
lines changed

app/CMakeLists.txt

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ set(common_SRCS
109109
${google_services_resource_source}
110110
${google_services_resource_header}
111111
src/app_common.cc
112+
src/app_identifier.cc
112113
src/app_options.cc
113114
src/callback.cc
114115
src/cleanup_notifier.cc
@@ -122,7 +123,8 @@ set(common_SRCS
122123
src/time.cc
123124
src/secure/user_secure_manager.cc
124125
src/util.cc
125-
src/variant.cc)
126+
src/variant.cc
127+
src/base64.cc)
126128

127129
set(invites_SRCS
128130
src/invites/cached_receiver.cc
@@ -135,12 +137,14 @@ set(app_android_SRCS
135137
${google_api_resources_source}
136138
${invites_resources_source}
137139
src/invites/android/invites_receiver_internal_android.cc
138-
src/invites/android/invites_android_helper.cc)
140+
src/invites/android/invites_android_helper.cc
141+
src/uuid.cc)
139142
set(app_ios_SRCS
140143
src/app_ios.mm
141144
src/util_ios.mm
142145
src/invites/ios/invites_receiver_internal_ios.mm
143-
src/invites/ios/invites_ios_startup.mm)
146+
src/invites/ios/invites_ios_startup.mm
147+
src/uuid_ios_darwin.mm)
144148
set(app_desktop_SRCS
145149
src/app_desktop.cc
146150
src/invites/stub/invites_receiver_internal_stub.cc
@@ -154,15 +158,21 @@ elseif(IOS)
154158
else()
155159
if(MSVC)
156160
set(app_desktop_extra_SRCS
157-
src/secure/user_secure_windows_internal.cc)
161+
src/secure/user_secure_windows_internal.cc
162+
src/locale.cc
163+
src/uuid.cc)
158164
elseif(APPLE)
159165
set(app_desktop_extra_SRCS
160-
src/secure/user_secure_darwin_internal.mm)
166+
src/secure/user_secure_darwin_internal.mm
167+
src/locale_apple.mm
168+
src/uuid_ios_darwin.mm)
161169
else()
162170
# Linux requires libsecret.
163171
pkg_check_modules(LIBSECRET libsecret-1 REQUIRED)
164172
set(app_desktop_extra_SRCS
165-
src/secure/user_secure_linux_internal.cc)
173+
src/secure/user_secure_linux_internal.cc
174+
src/locale.cc
175+
src/uuid.cc)
166176
endif()
167177

168178
set(app_platform_SRCS
@@ -265,6 +275,7 @@ target_include_directories(firebase_app
265275
PRIVATE
266276
${FIREBASE_CPP_SDK_ROOT_DIR}
267277
${FLATBUFFERS_SOURCE_DIR}/include
278+
${LIBSECRET_INCLUDE_DIRS}
268279
)
269280
target_compile_definitions(firebase_app
270281
PRIVATE
@@ -274,6 +285,7 @@ target_compile_definitions(firebase_app
274285
target_link_libraries(firebase_app
275286
PRIVATE
276287
flatbuffers
288+
${LIBSECRET_LIBRARIES}
277289
)
278290
# Automatically include headers that might not be declared.
279291
if(MSVC)
@@ -313,3 +325,4 @@ endif()
313325

314326
# Add the rest subdirectory, so that other libraries can access it
315327
add_subdirectory(rest)
328+
add_subdirectory(instance_id)

app/instance_id/CMakeLists.txt

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Copyright 2019 Google
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# CMake file for the firebase_instance_id_desktop_impl library
16+
17+
cmake_minimum_required (VERSION 3.1)
18+
set (CMAKE_CXX_STANDARD 11)
19+
20+
project(firebase_instance_id_desktop_impl NONE)
21+
enable_language(C)
22+
enable_language(CXX)
23+
24+
# Build the iid_data_generated.h header from the flatbuffer schema file.
25+
set(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
26+
"--no-union-value-namespacing"
27+
"--gen-object-api"
28+
"--cpp-ptr-type" "firebase::UniquePtr")
29+
build_flatbuffers("${CMAKE_CURRENT_LIST_DIR}/iid_data.fbs"
30+
""
31+
"iid_data_generated_includes"
32+
"${FIREBASE_FLATBUFFERS_DEPENDENCIES}"
33+
"${FIREBASE_GEN_FILE_DIR}/app/instance_id"
34+
""
35+
"")
36+
37+
set(iid_impl_SRCS
38+
instance_id_desktop_impl.cc
39+
instance_id_desktop_impl.h
40+
${FIREBASE_GEN_FILE_DIR}/app/instance_id/iid_data_generated.h)
41+
42+
add_library(firebase_instance_id_desktop_impl STATIC
43+
${iid_impl_SRCS})
44+
45+
target_include_directories(firebase_instance_id_desktop_impl
46+
PUBLIC
47+
${FIREBASE_CPP_SDK_ROOT_DIR}
48+
${FIREBASE_GEN_FILE_DIR}
49+
)
50+
target_link_libraries(firebase_instance_id_desktop_impl
51+
PUBLIC
52+
firebase_app
53+
PRIVATE
54+
flatbuffers
55+
firebase_rest_lib
56+
)
57+
target_compile_definitions(firebase_instance_id_desktop_impl
58+
PRIVATE
59+
-DINTERNAL_EXPERIMENTAL=1
60+
)

app/rest/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ set(rest_SRCS
3434
transport_curl.cc
3535
transport_interface.cc
3636
util.cc
37+
www_form_url_encoded.cc
3738
zlibwrapper.cc)
3839

3940
add_library(firebase_rest_lib STATIC

auth/CMakeLists.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,9 @@ if(ANDROID OR IOS)
151151
set(additional_target_definitions)
152152
else()
153153
set(additional_include_DIR
154-
${FLATBUFFERS_SOURCE_DIR}/include
155-
${LIBSECRET_INCLUDE_DIRS})
154+
${FLATBUFFERS_SOURCE_DIR}/include)
156155
set(additional_link_LIB
157-
firebase_rest_lib
158-
${LIBSECRET_LIBRARIES})
156+
firebase_rest_lib)
159157
endif()
160158

161159
add_library(firebase_auth STATIC

instance_id/CMakeLists.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ set(ios_SRCS
4141

4242
# Source files used by the desktop implementation.
4343
set(desktop_SRCS
44-
src/stub/instance_id.cc)
44+
src/desktop/instance_id.cc
45+
src/desktop/instance_id_internal.cc)
4546

4647
if(ANDROID)
4748
set(instance_id_platform_SRCS
@@ -54,6 +55,13 @@ else()
5455
"${desktop_SRCS}")
5556
endif()
5657

58+
if(ANDROID OR IOS OR use_stub)
59+
set(additional_link_LIB)
60+
else()
61+
set(additional_link_LIB
62+
firebase_instance_id_desktop_impl)
63+
endif()
64+
5765
add_library(firebase_instance_id STATIC
5866
${common_SRCS}
5967
${instance_id_platform_SRCS})
@@ -62,6 +70,8 @@ add_library(firebase_instance_id STATIC
6270
target_link_libraries(firebase_instance_id
6371
PUBLIC
6472
firebase_app
73+
PRIVATE
74+
${additional_link_LIB}
6575
)
6676
# Public headers all refer to each other relative to the src/include directory,
6777
# while private headers are relative to the entire C++ SDK directory.

remote_config/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ else()
8181
${PROJECT_BINARY_DIR}/..)
8282
set(additional_link_LIB
8383
firebase_rest_lib
84+
firebase_instance_id_desktop_impl
8485
flatbuffers
8586
protobuf-nanopb)
8687
endif()

0 commit comments

Comments
 (0)