Skip to content

Commit a0ab01d

Browse files
authored
Merge pull request #2 from SDWebImage/fix_cocoapods_frameworks_umbrella_headers
Rewrite the CocoaPods spec files, to declare the correct Public Headers for libwebp, fix the import issue when using `use_frameworks`
2 parents 2e81a78 + 90d20c0 commit a0ab01d

File tree

1 file changed

+19
-33
lines changed

1 file changed

+19
-33
lines changed

libwebp.podspec

Lines changed: 19 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -16,47 +16,33 @@ Pod::Spec.new do |s|
1616
s.watchos.deployment_target = '2.0'
1717

1818
s.pod_target_xcconfig = {
19-
'USER_HEADER_SEARCH_PATHS' => '$(inherited) ${PODS_ROOT}/libwebp/**'
19+
'USER_HEADER_SEARCH_PATHS' => '$(inherited) ${PODS_ROOT}/libwebp/ ${PODS_TARGET_SRCROOT}/'
2020
}
21+
s.preserve_path = 'src'
22+
s.default_subspecs = 'webp', 'demux', 'mux'
2123

24+
# webp decoding && encoding
2225
s.subspec 'webp' do |ss|
23-
ss.header_dir = 'webp'
24-
ss.source_files = 'src/webp/*.h'
25-
end
26-
27-
s.subspec 'core' do |ss|
28-
ss.source_files = [
29-
'src/utils/*.{h,c}',
30-
'src/dsp/*.{h,c}',
31-
'src/enc/*.{h,c}',
32-
'src/dec/*.{h,c}'
33-
]
34-
ss.dependency 'libwebp/webp'
35-
end
36-
37-
s.subspec 'utils' do |ss|
38-
ss.dependency 'libwebp/core'
39-
end
40-
41-
s.subspec 'dsp' do |ss|
42-
ss.dependency 'libwebp/core'
43-
end
44-
45-
s.subspec 'enc' do |ss|
46-
ss.dependency 'libwebp/core'
47-
end
48-
49-
s.subspec 'dec' do |ss|
50-
ss.dependency 'libwebp/core'
26+
ss.source_files = 'src/webp/decode.h', 'src/webp/encode.h', 'src/webp/types.h', 'src/webp/mux_types.h', 'src/webp/format_constants.h', 'src/utils/*.{h,c}', 'src/dsp/*.{h,c}', 'src/dec/*.{h,c}', 'src/enc/*.{h,c}'
27+
ss.public_header_files = 'src/webp/decode.h', 'src/webp/encode.h', 'src/webp/types.h', 'src/webp/mux_types.h', 'src/webp/format_constants.h'
5128
end
5229

30+
# animated webp decoding
5331
s.subspec 'demux' do |ss|
54-
ss.source_files = 'src/demux/*.{h,c}'
55-
ss.dependency 'libwebp/core'
32+
ss.dependency 'libwebp/webp'
33+
ss.source_files = 'src/demux/*.{h,c}', 'src/webp/demux.h'
34+
ss.public_header_files = 'src/webp/demux.h'
5635
end
5736

37+
# animated webp encoding
5838
s.subspec 'mux' do |ss|
59-
ss.source_files = 'src/mux/*.{h,c}'
60-
ss.dependency 'libwebp/core'
39+
ss.dependency 'libwebp/demux'
40+
ss.source_files = 'src/mux/*.{h,c}', 'src/webp/mux.h'
41+
ss.public_header_files = 'src/webp/mux.h'
6142
end
43+
44+
# fix #include <inttypes.h> cause 'Include of non-modular header inside framework module error'
45+
s.prepare_command = <<-CMD
46+
sed -i.bak 's/<inttypes.h>/<stdint.h>/g' './src/webp/types.h'
47+
CMD
6248
end

0 commit comments

Comments
 (0)