FirebaseFirestore.podspec 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #
  2. # Be sure to run `pod lib lint FirebaseFirestore.podspec' to ensure this is a
  3. # valid spec before submitting.
  4. #
  5. # Any lines starting with a # are optional, but their use is encouraged
  6. # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
  7. #
  8. Pod::Spec.new do |s|
  9. s.name = 'FirebaseFirestore'
  10. s.version = '0.10.3'
  11. s.summary = 'Google Cloud Firestore for iOS'
  12. s.description = <<-DESC
  13. Google Cloud Firestore is a NoSQL document database built for automatic scaling, high performance, and ease of application development.
  14. DESC
  15. s.homepage = 'https://developers.google.com/'
  16. s.license = { :type => 'Apache', :file => 'LICENSE' }
  17. s.authors = 'Google, Inc.'
  18. s.source = { :git => 'https://github.com/TBD/Firestore.git', :tag => s.version.to_s }
  19. # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
  20. s.ios.deployment_target = '7.0'
  21. s.cocoapods_version = '>= 1.4.0'
  22. s.static_framework = true
  23. s.prefix_header_file = false
  24. s.source_files = [
  25. 'Firestore/Source/**/*',
  26. 'Firestore/Port/**/*',
  27. 'Firestore/Protos/nanopb/**/*.[hc]',
  28. 'Firestore/Protos/objc/**/*.[hm]',
  29. 'Firestore/core/include/**/*.{h,cc,mm}',
  30. 'Firestore/core/src/**/*.{h,cc,mm}',
  31. 'Firestore/third_party/Immutable/*.[mh]',
  32. ]
  33. s.requires_arc = [
  34. 'Firestore/Source/**/*',
  35. 'Firestore/core/src/**/*.mm',
  36. 'Firestore/third_party/Immutable/*.[mh]'
  37. ]
  38. s.exclude_files = [
  39. 'Firestore/Port/*test.cc',
  40. 'Firestore/third_party/Immutable/Tests/**',
  41. # Exclude alternate implementations for other platforms
  42. 'Firestore/core/src/firebase/firestore/util/assert_stdio.cc',
  43. 'Firestore/core/src/firebase/firestore/util/log_stdio.cc',
  44. 'Firestore/core/src/firebase/firestore/util/secure_random_openssl.cc'
  45. ]
  46. s.public_header_files = 'Firestore/Source/Public/*.h'
  47. s.ios.dependency 'FirebaseAnalytics', '~> 4.0'
  48. s.dependency 'FirebaseCore', '~> 4.0'
  49. s.dependency 'gRPC-ProtoRPC', '~> 1.0'
  50. s.dependency 'leveldb-library', '~> 1.18'
  51. s.dependency 'Protobuf', '~> 3.1'
  52. s.frameworks = 'MobileCoreServices'
  53. s.library = 'c++'
  54. s.pod_target_xcconfig = {
  55. 'GCC_PREPROCESSOR_DEFINITIONS' => 'GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1 ',
  56. 'HEADER_SEARCH_PATHS' =>
  57. '"${PODS_TARGET_SRCROOT}" ' +
  58. '"${PODS_TARGET_SRCROOT}/Firestore/third_party/abseil-cpp" ' +
  59. '"${PODS_ROOT}/nanopb" ' +
  60. '"${PODS_TARGET_SRCROOT}/Firestore/Protos/nanopb"',
  61. 'OTHER_CFLAGS' => '-DFIRFirestore_VERSION=' + s.version.to_s + ' -DPB_FIELD_16BIT'
  62. }
  63. s.prepare_command = <<-CMD
  64. # Generate a version of the config.h header suitable for building with
  65. # CocoaPods.
  66. sed '/^#cmakedefine/ d' \
  67. Firestore/core/src/firebase/firestore/util/config.h.in > \
  68. Firestore/core/src/firebase/firestore/util/config.h
  69. CMD
  70. s.subspec 'abseil-cpp' do |ss|
  71. ss.preserve_path = [
  72. 'Firestore/third_party/abseil-cpp/absl'
  73. ]
  74. ss.source_files = [
  75. 'Firestore/third_party/abseil-cpp/**/*.cc'
  76. ]
  77. ss.exclude_files = [
  78. 'Firestore/third_party/abseil-cpp/**/*_test.cc',
  79. ]
  80. ss.library = 'c++'
  81. ss.compiler_flags = '$(inherited) ' + '-Wno-comma -Wno-range-loop-analysis'
  82. end
  83. end