From bbf0b5c0e635029f46240b4ee8d39a712c12cbab Mon Sep 17 00:00:00 2001 From: Syo Ikeda Date: Wed, 14 Aug 2013 16:02:06 +0900 Subject: [PATCH 1/2] Use 'default_subspec' and separate the WebP support to its sub-spec This removes unnecessary dependency to 'libwebp' for users who don't need WebP support. --- SDWebImage.podspec | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/SDWebImage.podspec b/SDWebImage.podspec index 64632c4..32be000 100644 --- a/SDWebImage.podspec +++ b/SDWebImage.podspec @@ -17,14 +17,23 @@ Pod::Spec.new do |s| 'and performances!' s.requires_arc = true - s.source_files = 'SDWebImage/{NS,SD,UI}*.{h,m}' s.framework = 'ImageIO' + + s.default_subspec = 'Core' - s.dependency 'libwebp' + s.subspec 'Core' do |core| + core.source_files = 'SDWebImage/{NS,SD,UI}*.{h,m}' + core.exclude_files = 'SDWebImage/UIImage+WebP.{h,m}' + end - # TODO currently CocoaPods always tries to install the subspec even if the dependency is on just 'SDWebImage' s.subspec 'MapKit' do |mk| mk.source_files = 'SDWebImage/MKAnnotationView+WebCache.*' mk.framework = 'MapKit' end + + s.subspec 'WebP' do |webp| + webp.source_files = 'SDWebImage/UIImage+WebP.{h,m}' + webp.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) SD_WEBP=1' } + webp.dependency 'libwebp' + end end From 6f3debd7a2fbf8709a1de98773dc76f68ae48f91 Mon Sep 17 00:00:00 2001 From: Syo Ikeda Date: Wed, 14 Aug 2013 16:57:20 +0900 Subject: [PATCH 2/2] Fix sub-spec dependency --- SDWebImage.podspec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SDWebImage.podspec b/SDWebImage.podspec index 32be000..6e53814 100644 --- a/SDWebImage.podspec +++ b/SDWebImage.podspec @@ -29,11 +29,13 @@ Pod::Spec.new do |s| s.subspec 'MapKit' do |mk| mk.source_files = 'SDWebImage/MKAnnotationView+WebCache.*' mk.framework = 'MapKit' + mk.dependency 'SDWebImage/Core' end s.subspec 'WebP' do |webp| webp.source_files = 'SDWebImage/UIImage+WebP.{h,m}' webp.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) SD_WEBP=1' } + webp.dependency 'SDWebImage/Core' webp.dependency 'libwebp' end end