Commit Graph
16 Commits
Author SHA1 Message Date
Gil 74f4ceb4c9 Fix unused variable warnings (#5389)
* Fix unused variable warnings

These are now exposed because libprotobuf is no longer polluting the
compiler command-line with -Wno-unused-parameter.

* Convert (void)var to __unused where possible
2020-04-20 14:23:36 -07:00
Gil 314f137bd5 Shorten CMake Objective-C targets (#5323)
* Shorten firebase_firestore_example_app

... and:
  * Migrate to firebase_ios_add_executable
  * Use globs for specifying sources

* Migrate Example/Tests/API to new CMake primitives

* Migrate Example/Tests/Integration to new CMake primitives

* Migrate Example/Tests/SpecTests to new CMake primitives

* Migrate Example/Tests/Util to new CMake primitives

Rename firebase_firestore_objc_test_util to firestore_objc_testing.

* Migrate fuzzing to new CMake primitives

Rewrite firebase_ios_cc_fuzz_test to match the other primitives.

* Add firebase_ios_add_objc_test

* Migrate Example/Benchmarks to new CMake primitives
2020-04-20 10:28:36 -07:00
Gil 0bb454e12b Remove Firestore/Example/App/Testing submodule, accidentally added in #4046 (#5208) 2020-03-26 10:50:09 -07:00
Gil a568a96f7e Add iOS build support to the CMake build (#5052)
* Use early exit in objc_framework CMakeLists.txt

* Clean up objc_framework CMakeLists.txt

  * Use `version` consistently
  * Use `firebase_ios_version` for the repo-level version
  * Remove INCLUDE directories that are no longer needed
  * Sort dependencies

* Simplify Example/App/CMakeLists.txt

  * Add `OBJC_FLAGS` directly, avoiding a separate `sources` variable.
  * Add resources directly

* Rename test host app to firebase_firestore_example_app

* Add a firebase_ios prefix to functions and variables

This reduces the chance of collision with other projects.

* Simplify compiler_setup

Now that compiler_setup.cmake no longer has side-effects, fold
compiler_id.cmake and archive_options.cmake into it and move
the include of compiler_setup up to the top of the main build.

* Add support for building for iOS

* Make building benchmarks optional

* Disable protoc-based source generators when cross-compiling

* Make downloading googletest optional

* Add DISABLE_STRICT_WARNINGS mode to cc_rules

This makes it possible to build non-Firestore components in the CMake
build to a lower standard than that to which we hold ourselves without
sacrificing the utility of the various build rules that we have.
2020-03-13 08:22:11 -07:00
Gil e404054a9f Refactor and clean up the CMake build ahead of CMake/iOS support (#5051)
* Use early exit in objc_framework CMakeLists.txt

* Clean up objc_framework CMakeLists.txt

  * Use `version` consistently
  * Use `firebase_ios_version` for the repo-level version
  * Remove INCLUDE directories that are no longer needed
  * Sort dependencies

* Simplify Example/App/CMakeLists.txt

  * Add `OBJC_FLAGS` directly, avoiding a separate `sources` variable.
  * Add resources directly

* Rename test host app to firebase_firestore_example_app

* Add a firebase_ios prefix to functions and variables

This reduces the chance of collision with other projects.

* Simplify compiler_setup

Now that compiler_setup.cmake no longer has side-effects, fold
compiler_id.cmake and archive_options.cmake into it and move
the include of compiler_setup up to the top of the main build.
2020-03-10 20:50:13 -07:00
wu-hui 2a8d069b77 Run integration tests from CMake on mac (#4276) 2019-11-19 13:40:43 -05:00
wu-hui 2ebb82d1c5 LocalSerializer feature complete (#4046)
* LocalSerializer feature complete

* Addressing comments 1

* Walk around nanopb boolean issue

* Rename to SafeReadBoolean
2019-10-17 17:04:47 -04:00
Gil 6ea0fbd950 Manage resources with sync_project.rb (#3340)
* Sync resources

Apply ignored files to target contents too.

* Clean up macOS host app

resources/roots.pem does not exist
2019-07-12 10:17:33 -07:00
Maksym Malyhin 55814996a1 Cocoapods 1.7.0 multiproject support (b/128794527) (#2751) 2019-04-08 22:38:51 -04:00
Gil 0729c9dfe9 Add tvOS support to Firestore (#2662)
* Create tvOS host app

* Standard project edits

  * Remove code signing
  * Force C99/C++11
  * Adjust plist file for new location
  * header search paths
  * LDFLAGS

* Add Firestore_{Tests,IntegrationTests}_tvOS

* Add tvOS tests to the Podfile

* Add Firestore tvOS xcodebuild to build.sh

* Teach sync_project to keep tvOS up-to-date

* Add Firestore tvOS to Travis
2019-03-28 11:43:43 -07:00
Gil 208f053e93 Disable gRPC death tests (#2643)
* Remove default app that writes to Firestore.

This ends up running during unit test execution and that doesn't work on
Travis.

* Remove gRPC death tests

These are expensive because they actually are catching abort().
2019-03-26 17:20:46 -07:00
Gil c2a10a9f86 Add support for Firestore unit tests on macOS (#2641)
* Rename Firestore/Example/App/macOS_example to macOS

* Update paths to macOS and names to Firestore_Example_macOS

* Add Firestore_Tests_macOS target

This uses a shared Tests Info.plist. This is important because it
configures NSPrincipalClass

* Teach sync_project about Firestore_Tests_macOS

* Add files to Firestore_Tests_macOS

* Add Firestore_Tests_macOS target to the Podfile

* Add HEADER_SEARCH_PATHS to match iOS

* Force C99/C++11 conformance

* pod install after adding Firestore_Tests_macOS

* Get macOS tests to link

* Add spec test json files to the macOS tests

* Remove development code signing

* Disable app sandboxing to allow GoogleTest death tests to succeed.
2019-03-26 14:51:57 -07:00
Gil c4527b1661 Rework gRPC certificate loading one last time (#2606) 2019-03-21 15:25:29 -07:00
Paul Harter 2c03cf16f7 Example of Firestore working in macOS app (#2241)
Besides adding a new macOS example to the project, this:
* Adds a search for roots.pem in root of main bundle
* Accepts swiftformat 0.37 in `style.sh`
* Extends the travis_wait from the default 20 mins to 45 to allow for building iOS and macOS.
2019-01-17 12:37:42 -08:00
Gil 76ba6e933e Allow GoogleServices-Info.plist to configure Firestore integration tests (#1822)
* Add an empty GoogleService-Info.plist to the Firestore project

* Add machinery to be able to use GoogleServices-Info.plist in integration tests.

* Refer to instructions if neither a plist nor testing cert is set up
2018-09-14 12:00:09 -07:00
Gil 70ac17a9ea Prep for direct macOS support in Firestore pod (#1269)
* Add Firestore/Example/App group

* Move "Example For Firestore" into App

* Rename "Example For Firestore" to "iOS"

* Update plist file location
2018-05-14 13:09:24 -07:00