mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-09 22:36:01 +05:45
Add -Wreorder flag, make it an error, and fix the errors This is enforced via CI in some cases, so make it enforced in all of Firestore.
101 lines
3.3 KiB
Ruby
101 lines
3.3 KiB
Ruby
Pod::Spec.new do |s|
|
|
s.name = 'FirebaseFirestore'
|
|
s.version = '0.13.4'
|
|
s.summary = 'Google Cloud Firestore for iOS'
|
|
|
|
s.description = <<-DESC
|
|
Google Cloud Firestore is a NoSQL document database built for automatic scaling, high performance, and ease of application development.
|
|
DESC
|
|
|
|
s.homepage = 'https://developers.google.com/'
|
|
s.license = { :type => 'Apache', :file => 'LICENSE' }
|
|
s.authors = 'Google, Inc.'
|
|
|
|
s.source = {
|
|
:git => 'https://github.com/firebase/firebase-ios-sdk.git',
|
|
:tag => 'Firestore-' + s.version.to_s
|
|
}
|
|
|
|
s.ios.deployment_target = '8.0'
|
|
|
|
s.cocoapods_version = '>= 1.4.0'
|
|
s.static_framework = true
|
|
s.prefix_header_file = false
|
|
|
|
s.source_files = [
|
|
'Firestore/Source/**/*',
|
|
'Firestore/Port/**/*',
|
|
'Firestore/Protos/nanopb/**/*.[hc]',
|
|
'Firestore/Protos/objc/**/*.[hm]',
|
|
'Firestore/core/include/**/*.{h,cc,mm}',
|
|
'Firestore/core/src/**/*.{h,cc,mm}',
|
|
'Firestore/third_party/Immutable/*.[mh]',
|
|
]
|
|
s.requires_arc = [
|
|
'Firestore/Source/**/*',
|
|
'Firestore/core/src/**/*.mm',
|
|
'Firestore/third_party/Immutable/*.[mh]'
|
|
]
|
|
s.exclude_files = [
|
|
'Firestore/Port/*test.cc',
|
|
'Firestore/third_party/Immutable/Tests/**',
|
|
|
|
# Exclude alternate implementations for other platforms
|
|
'Firestore/core/src/firebase/firestore/util/filesystem_win.cc',
|
|
'Firestore/core/src/firebase/firestore/util/hard_assert_stdio.cc',
|
|
'Firestore/core/src/firebase/firestore/util/log_stdio.cc',
|
|
'Firestore/core/src/firebase/firestore/util/secure_random_openssl.cc'
|
|
]
|
|
s.public_header_files = 'Firestore/Source/Public/*.h'
|
|
|
|
s.dependency 'FirebaseAuthInterop', '~> 1.0'
|
|
s.dependency 'FirebaseCore', '~> 5.1'
|
|
s.dependency 'gRPC-ProtoRPC', '~> 1.0'
|
|
s.dependency 'gRPC-C++', '~> 0.0.3'
|
|
s.dependency 'leveldb-library', '~> 1.20'
|
|
s.dependency 'Protobuf', '~> 3.1'
|
|
s.dependency 'nanopb', '~> 0.3.8'
|
|
|
|
s.frameworks = 'MobileCoreServices'
|
|
s.library = 'c++'
|
|
s.pod_target_xcconfig = {
|
|
'GCC_PREPROCESSOR_DEFINITIONS' =>
|
|
"FIRFirestore_VERSION=#{s.version} " +
|
|
'GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1 ' +
|
|
# The nanopb pod sets these defs, so we must too. (We *do* require 16bit
|
|
# (or larger) fields, so we'd have to set at least PB_FIELD_16BIT
|
|
# anyways.)
|
|
'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1',
|
|
'HEADER_SEARCH_PATHS' =>
|
|
'"${PODS_TARGET_SRCROOT}" ' +
|
|
'"${PODS_TARGET_SRCROOT}/Firestore/third_party/abseil-cpp" ' +
|
|
'"${PODS_ROOT}/nanopb" ' +
|
|
'"${PODS_TARGET_SRCROOT}/Firestore/Protos/nanopb"',
|
|
}
|
|
|
|
# Generate a version of the config.h header suitable for building with
|
|
# CocoaPods.
|
|
s.prepare_command = <<-CMD
|
|
sed '/^#cmakedefine/ d' \
|
|
Firestore/core/src/firebase/firestore/util/config.h.in > \
|
|
Firestore/core/src/firebase/firestore/util/config.h
|
|
CMD
|
|
|
|
s.compiler_flags = '$(inherited) -Wreorder -Werror=reorder'
|
|
|
|
s.subspec 'abseil-cpp' do |ss|
|
|
ss.preserve_path = [
|
|
'Firestore/third_party/abseil-cpp/absl'
|
|
]
|
|
ss.source_files = [
|
|
'Firestore/third_party/abseil-cpp/**/*.cc'
|
|
]
|
|
ss.exclude_files = [
|
|
'Firestore/third_party/abseil-cpp/**/*_test.cc',
|
|
]
|
|
|
|
ss.library = 'c++'
|
|
ss.compiler_flags = '$(inherited) ' + '-Wno-comma -Wno-range-loop-analysis'
|
|
end
|
|
end
|