blob: 75a5e31f3f7a730feddaf837b94f04dc52ade81c [file] [log] [blame]
Jorge Canizales249483e2015-06-01 19:55:27 -07001# This file describes to Cocoapods how to integrate the Objective-C runtime into a dependent
2# project.
3# Despite this file being specific to Objective-C, it needs to be on the root of the repository.
4# Otherwise, Cocoapods gives trouble like not picking up the license file correctly, or not letting
5# dependent projects use the :git notation to refer to the library.
Jorge Canizales687a5fe2015-05-13 19:54:55 -07006Pod::Spec.new do |s|
7 s.name = 'Protobuf'
Jisi Liud5505282016-05-18 13:57:25 -07008 s.version = '3.0.0-beta-3'
Jorge Canizales687a5fe2015-05-13 19:54:55 -07009 s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.'
10 s.homepage = 'https://github.com/google/protobuf'
11 s.license = 'New BSD'
Jorge Canizales592c44f2015-05-14 14:16:40 -070012 s.authors = { 'The Protocol Buffers contributors' => 'protobuf@googlegroups.com' }
Thomas Van Lenten7da023b2016-05-09 13:53:20 -040013 s.cocoapods_version = '>= 1.0'
Jorge Canizales687a5fe2015-05-13 19:54:55 -070014
Jorge Canizalesf492dd82016-02-10 19:19:17 -080015 s.source = { :git => 'https://github.com/google/protobuf.git',
16 :tag => "v#{s.version}" }
17
TeBoringfe982642015-08-26 23:55:33 -070018 s.source_files = 'objectivec/*.{h,m}',
19 'objectivec/google/protobuf/Any.pbobjc.{h,m}',
20 'objectivec/google/protobuf/Api.pbobjc.{h,m}',
TeBoringfe982642015-08-26 23:55:33 -070021 'objectivec/google/protobuf/Duration.pbobjc.h',
22 'objectivec/google/protobuf/Empty.pbobjc.{h,m}',
23 'objectivec/google/protobuf/FieldMask.pbobjc.{h,m}',
24 'objectivec/google/protobuf/SourceContext.pbobjc.{h,m}',
25 'objectivec/google/protobuf/Struct.pbobjc.{h,m}',
26 'objectivec/google/protobuf/Timestamp.pbobjc.h',
Jorge Canizalesaf66e902015-09-04 13:16:40 -070027 'objectivec/google/protobuf/Type.pbobjc.{h,m}',
TeBoringfe982642015-08-26 23:55:33 -070028 'objectivec/google/protobuf/Wrappers.pbobjc.{h,m}'
29 # Timestamp.pbobjc.m and Duration.pbobjc.m are #imported by GPBWellKnownTypes.m. So we can't
30 # compile them (duplicate symbols), but we need them available for the importing:
31 s.preserve_paths = 'objectivec/google/protobuf/Duration.pbobjc.m',
32 'objectivec/google/protobuf/Timestamp.pbobjc.m'
33 # The following would cause duplicate symbol definitions. GPBProtocolBuffers is expected to be
34 # left out, as it's an umbrella implementation file.
35 s.exclude_files = 'objectivec/GPBProtocolBuffers.m'
Thomas Van Lenten7da023b2016-05-09 13:53:20 -040036
37 # Set a CPP symbol so the code knows to use framework imports.
38 s.user_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' }
39 s.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' }
Jorge Canizales687a5fe2015-05-13 19:54:55 -070040
Bo Yangd58e95b2015-07-22 14:54:52 -070041 s.ios.deployment_target = '7.1'
42 s.osx.deployment_target = '10.9'
Jorge Canizales687a5fe2015-05-13 19:54:55 -070043 s.requires_arc = false
44end