| # Copyright 2018 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("//ios/third_party/firebase/firebase.gni") |
| |
| source_set("firebase") { |
| # From gn documentation: |
| # https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/reference.md#ldflags |
| # "ldflags are NOT pushed to dependents, so applying ldflags to source sets |
| # or static libraries will be a no-op. If you want to apply ldflags to |
| # dependent targets, put them in a config and set it in the |
| # all_dependent_configs or public_configs." |
| # |
| # This source_set must be specified as a direct deps of an ios_app_bundle |
| # target for ldflags specified in :firebase_config to be applied. |
| public_configs = [ ":firebase_config" ] |
| deps = [ |
| ":resources", |
| ] |
| } |
| |
| config("firebase_config") { |
| visibility = [ ":firebase" ] |
| ldflags = [ |
| "-F", |
| rebase_path("Analytics", root_build_dir), |
| ] |
| libs = [ |
| "FirebaseAnalytics.framework", |
| "FirebaseCore.framework", |
| "FirebaseCoreDiagnostics.framework", |
| "FirebaseInstanceID.framework", |
| "FirebaseNanoPB.framework", |
| "nanopb.framework", |
| ] |
| } |
| |
| bundle_data("resources") { |
| assert(ios_firebase_plist_path != "", |
| "ios_firebase_plist_path must be defined if Firebase SDK is enabled.") |
| sources = [ |
| ios_firebase_plist_path, |
| ] |
| outputs = [ |
| "{{bundle_resources_dir}}/{{source_file_part}}", |
| ] |
| } |