From 6fb934355a368fb050845f294e30b2047e302a52 Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Mon, 2 Dec 2024 10:43:49 -0800 Subject: [PATCH 1/3] Add new GCS service account key file. --- scripts/gha-encrypted/gcs_key_file.json.gpg | Bin 1720 -> 1745 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/scripts/gha-encrypted/gcs_key_file.json.gpg b/scripts/gha-encrypted/gcs_key_file.json.gpg index d792ec8bb6f13a6be0ab208e54d551df1a5b9413..99a77ae423957cfebac7981979201e03cf7b65fb 100644 GIT binary patch literal 1745 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 OP5ep(Nd{G0epWUSJzH!5 From dbf09125a27b6609e104b02e2076066d3686a682 Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Thu, 26 Jun 2025 10:59:13 -0700 Subject: [PATCH 2/3] Add more information on building. --- AGENTS.md | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index fce803dc12..10139e1fc8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -42,6 +42,12 @@ instructions for your specific platform. Android builds on Windows. * **Cocoapods**: Required for building iOS or tvOS libraries. +To build for Desktop, you can install prerequisites by running the following +script in the root of the repository: `scripts/gha/install_prereqs_desktop.py` + +To build for Android, you can install prerequisites by running the following +script in the root of the repository: `build_scripts/android/install_prereqs.sh` + ## Building the SDK The SDK uses CMake for C++ compilation and Gradle for Android-specific parts. @@ -50,15 +56,16 @@ The SDK uses CMake for C++ compilation and Gradle for Android-specific parts. 1. Create a build directory (e.g., `mkdir desktop_build && cd desktop_build`). 2. Run CMake to configure: `cmake ..` - * For iOS: - `cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/ios.cmake ..` - Note: iOS setup typically requires both including Firebase pods (via - `Podfile`) and linking the `.framework` files from the C++ SDK - distribution. - * For tvOS: - `cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/apple.toolchain.cmake -DPLATFORM=TVOS ..` + * For Desktop: Run as is. You can use BORINGSSL instead of OpenSSL (for fewer + system dependencies with the `-DFIREBASE_USE_BORINGSSL=YES` parameter. + * For iOS, include the `-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/ios.cmake` + parameter. This requires running on a Mac build machine. 3. Build specific targets: `cmake --build . --target firebase_analytics` (replace `firebase_analytics` with the desired library). + Or omit the entire `--target` parameter to build all targets. + +You can also use the `scripts/gha/build_desktop.py` script to build the full +desktop SDK. Refer to `README.md` for details on CMake generators and providing custom third-party dependency locations. @@ -76,6 +83,9 @@ This command should be run from the root of the repository. Proguard files are generated in each library's build directory (e.g., `analytics/build/analytics.pro`). +You can build the entire SDK for Android by running `./gradlew build` or +`build_scripts/android/build.sh`. + ### Desktop Platform Setup Details When setting up for desktop, if you are using an iOS From a1967feff5af2916133c53414cb7b38e6c2da89f Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Thu, 26 Jun 2025 11:59:03 -0700 Subject: [PATCH 3/3] Added changes. --- AGENTS.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 10139e1fc8..abd2ee35f6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -33,8 +33,10 @@ instructions for your specific platform. * **CMake**: Version 3.7 or newer. * **Python**: Version 3.7 or newer. * **Abseil-py**: Python package. -* **OpenSSL**: Required for Realtime Database and Cloud Firestore (especially - for desktop builds). +* **OpenSSL**: Required for desktop builds, unless you build with the + `-DFIREBASE_USE_BORINGSSL=YES` cmake flag. +* **libsecret-1-dev**: (Linux Desktop) Required for secure credential storage. + Install using `sudo apt-get install libsecret-1-dev`. * **Android SDK & NDK**: Required for building Android libraries. `sdkmanager` can be used for installation. CMake for Android (version 3.10.2 recommended) is also needed.