1*1b3f573fSAndroid Build Coastguard Worker# This file describes to Cocoapods how to integrate the Objective-C runtime into a dependent 2*1b3f573fSAndroid Build Coastguard Worker# project. 3*1b3f573fSAndroid Build Coastguard Worker# Despite this file being specific to Objective-C, it needs to be on the root of the repository. 4*1b3f573fSAndroid Build Coastguard Worker# Otherwise, Cocoapods gives trouble like not picking up the license file correctly, or not letting 5*1b3f573fSAndroid Build Coastguard Worker# dependent projects use the :git notation to refer to the library. 6*1b3f573fSAndroid Build Coastguard WorkerPod::Spec.new do |s| 7*1b3f573fSAndroid Build Coastguard Worker s.name = 'Protobuf' 8*1b3f573fSAndroid Build Coastguard Worker s.version = '3.21.12' 9*1b3f573fSAndroid Build Coastguard Worker s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.' 10*1b3f573fSAndroid Build Coastguard Worker s.homepage = 'https://github.com/protocolbuffers/protobuf' 11*1b3f573fSAndroid Build Coastguard Worker s.license = 'BSD-3-Clause' 12*1b3f573fSAndroid Build Coastguard Worker s.authors = { 'The Protocol Buffers contributors' => '[email protected]' } 13*1b3f573fSAndroid Build Coastguard Worker s.cocoapods_version = '>= 1.0' 14*1b3f573fSAndroid Build Coastguard Worker 15*1b3f573fSAndroid Build Coastguard Worker s.source = { :git => 'https://github.com/protocolbuffers/protobuf.git', 16*1b3f573fSAndroid Build Coastguard Worker :tag => "v#{s.version}" } 17*1b3f573fSAndroid Build Coastguard Worker 18*1b3f573fSAndroid Build Coastguard Worker s.source_files = 'objectivec/*.{h,m}', 19*1b3f573fSAndroid Build Coastguard Worker 'objectivec/google/protobuf/Any.pbobjc.h', 20*1b3f573fSAndroid Build Coastguard Worker 'objectivec/google/protobuf/Api.pbobjc.h', 21*1b3f573fSAndroid Build Coastguard Worker 'objectivec/google/protobuf/Duration.pbobjc.h', 22*1b3f573fSAndroid Build Coastguard Worker 'objectivec/google/protobuf/Empty.pbobjc.h', 23*1b3f573fSAndroid Build Coastguard Worker 'objectivec/google/protobuf/FieldMask.pbobjc.h', 24*1b3f573fSAndroid Build Coastguard Worker 'objectivec/google/protobuf/SourceContext.pbobjc.h', 25*1b3f573fSAndroid Build Coastguard Worker 'objectivec/google/protobuf/Struct.pbobjc.h', 26*1b3f573fSAndroid Build Coastguard Worker 'objectivec/google/protobuf/Timestamp.pbobjc.h', 27*1b3f573fSAndroid Build Coastguard Worker 'objectivec/google/protobuf/Type.pbobjc.h', 28*1b3f573fSAndroid Build Coastguard Worker 'objectivec/google/protobuf/Wrappers.pbobjc.h' 29*1b3f573fSAndroid Build Coastguard Worker # The following would cause duplicate symbol definitions. GPBProtocolBuffers is expected to be 30*1b3f573fSAndroid Build Coastguard Worker # left out, as it's an umbrella implementation file. 31*1b3f573fSAndroid Build Coastguard Worker s.exclude_files = 'objectivec/GPBProtocolBuffers.m' 32*1b3f573fSAndroid Build Coastguard Worker 33*1b3f573fSAndroid Build Coastguard Worker # Set a CPP symbol so the code knows to use framework imports. 34*1b3f573fSAndroid Build Coastguard Worker s.user_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' } 35*1b3f573fSAndroid Build Coastguard Worker s.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' } 36*1b3f573fSAndroid Build Coastguard Worker 37*1b3f573fSAndroid Build Coastguard Worker s.ios.deployment_target = '9.0' 38*1b3f573fSAndroid Build Coastguard Worker s.osx.deployment_target = '10.9' 39*1b3f573fSAndroid Build Coastguard Worker s.tvos.deployment_target = '9.0' 40*1b3f573fSAndroid Build Coastguard Worker s.watchos.deployment_target = '2.0' 41*1b3f573fSAndroid Build Coastguard Worker s.requires_arc = false 42*1b3f573fSAndroid Build Coastguard Worker 43*1b3f573fSAndroid Build Coastguard Worker # The unittest need the generate sources from the testing related .proto 44*1b3f573fSAndroid Build Coastguard Worker # files. So to add a `test_spec`, there would also need to be something like a 45*1b3f573fSAndroid Build Coastguard Worker # `script_phases` to generate them, but there would also need to be a way to 46*1b3f573fSAndroid Build Coastguard Worker # ensure `protoc` had be built. Another option would be to move to a model 47*1b3f573fSAndroid Build Coastguard Worker # where the needed files are always generated and checked in. Neither of these 48*1b3f573fSAndroid Build Coastguard Worker # seem that great at the moment, so the tests have *not* been wired into here 49*1b3f573fSAndroid Build Coastguard Worker # at this time. 50*1b3f573fSAndroid Build Coastguard Workerend 51