7da023b892
- Add generator constant for the default framework name. - Add generator api for making the CPP symbol from the name. - Add generator api to see if it is a bundled proto file. - Output a CPP conditional and two imports for the core library headers. - Add helper for generating the #import for file headers to deal with the framework imports. - Add a reference from the unittests to a WKT to use that to inspect how imports generate. - Update the podspec to define the CPP symbol and require pods 1.0 (or later). Fixes https://github.com/google/protobuf/issues/1457
45 lines
2.4 KiB
Ruby
45 lines
2.4 KiB
Ruby
# This file describes to Cocoapods how to integrate the Objective-C runtime into a dependent
|
|
# project.
|
|
# Despite this file being specific to Objective-C, it needs to be on the root of the repository.
|
|
# Otherwise, Cocoapods gives trouble like not picking up the license file correctly, or not letting
|
|
# dependent projects use the :git notation to refer to the library.
|
|
Pod::Spec.new do |s|
|
|
s.name = 'Protobuf'
|
|
s.version = '3.0.0-beta-2'
|
|
s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.'
|
|
s.homepage = 'https://github.com/google/protobuf'
|
|
s.license = 'New BSD'
|
|
s.authors = { 'The Protocol Buffers contributors' => 'protobuf@googlegroups.com' }
|
|
s.cocoapods_version = '>= 1.0'
|
|
|
|
s.source = { :git => 'https://github.com/google/protobuf.git',
|
|
:tag => "v#{s.version}" }
|
|
|
|
s.source_files = 'objectivec/*.{h,m}',
|
|
'objectivec/google/protobuf/Any.pbobjc.{h,m}',
|
|
'objectivec/google/protobuf/Api.pbobjc.{h,m}',
|
|
'objectivec/google/protobuf/Duration.pbobjc.h',
|
|
'objectivec/google/protobuf/Empty.pbobjc.{h,m}',
|
|
'objectivec/google/protobuf/FieldMask.pbobjc.{h,m}',
|
|
'objectivec/google/protobuf/SourceContext.pbobjc.{h,m}',
|
|
'objectivec/google/protobuf/Struct.pbobjc.{h,m}',
|
|
'objectivec/google/protobuf/Timestamp.pbobjc.h',
|
|
'objectivec/google/protobuf/Type.pbobjc.{h,m}',
|
|
'objectivec/google/protobuf/Wrappers.pbobjc.{h,m}'
|
|
# Timestamp.pbobjc.m and Duration.pbobjc.m are #imported by GPBWellKnownTypes.m. So we can't
|
|
# compile them (duplicate symbols), but we need them available for the importing:
|
|
s.preserve_paths = 'objectivec/google/protobuf/Duration.pbobjc.m',
|
|
'objectivec/google/protobuf/Timestamp.pbobjc.m'
|
|
# The following would cause duplicate symbol definitions. GPBProtocolBuffers is expected to be
|
|
# left out, as it's an umbrella implementation file.
|
|
s.exclude_files = 'objectivec/GPBProtocolBuffers.m'
|
|
|
|
# Set a CPP symbol so the code knows to use framework imports.
|
|
s.user_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' }
|
|
s.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' }
|
|
|
|
s.ios.deployment_target = '7.1'
|
|
s.osx.deployment_target = '10.9'
|
|
s.requires_arc = false
|
|
end
|