forked from 3a4oT/Texture
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Texture.podspec
107 lines (91 loc) · 3.73 KB
/
Texture.podspec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Pod::Spec.new do |spec|
spec.name = 'Texture'
spec.version = '3.0.0'
spec.license = { :type => 'Apache 2', }
spec.homepage = 'http://texturegroup.org'
spec.authors = { 'Huy Nguyen' => 'hi@huynguyen.dev', 'Garrett Moon' => 'garrett@excitedpixel.com', 'Scott Goodson' => 'scottgoodson@gmail.com', 'Michael Schneider' => 'mischneider1@gmail.com', 'Adlai Holler' => 'adlai@icloud.com' }
spec.summary = 'Smooth asynchronous user interfaces for iOS apps.'
spec.source = { :git => 'https://github.com/TextureGroup/Texture.git', :tag => spec.version.to_s }
spec.module_name = 'AsyncDisplayKit'
spec.header_dir = 'AsyncDisplayKit'
spec.documentation_url = 'http://texturegroup.org/appledoc/'
spec.ios.deployment_target = '9.0'
spec.tvos.deployment_target = '9.0'
# Subspecs
spec.subspec 'Core' do |core|
core.compiler_flags = '-fno-exceptions'
core.exclude_files = [
'Source/Classes/include/*',
# Required only for SPM support.
'spm/Sources/*'
]
core.public_header_files = [
'Source/*.h',
'Source/Details/**/*.h',
'Source/Layout/**/*.h',
'Source/Base/*.h',
'Source/Debug/**/*.h',
'Source/TextKit/ASTextNodeTypes.h',
'Source/TextKit/ASTextKitComponents.h',
'Source/TextExperiment/Component/*.h',
'Source/TextExperiment/String/ASTextAttribute.h',
]
core.source_files = [
'Source/**/*.{h,mm}',
# Most TextKit components are not public because the C++ content
# in the headers will cause build errors when using
# `use_frameworks!` on 0.39.0 & Swift 2.1.
# See https://github.com/facebook/AsyncDisplayKit/issues/1153
'Source/TextKit/*.h',
]
end
spec.subspec 'PINRemoteImage' do |pin|
pin.dependency 'PINRemoteImage/iOS', '~> 3.0.0'
pin.dependency 'PINRemoteImage/PINCache'
pin.dependency 'Texture/Core'
end
spec.subspec 'IGListKit' do |igl|
igl.dependency 'IGListKit', '~> 4.0'
igl.dependency 'IGListDiffKit', '~> 4.0'
igl.dependency 'Texture/Core'
end
spec.subspec 'Yoga' do |yoga|
yoga.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) YOGA=1' }
yoga.dependency 'Yoga', '1.6.0'
yoga.dependency 'Texture/Core'
end
# If flag is enabled the old TextNode with all dependencies will be compiled out
spec.subspec 'TextNode2' do |text_node|
text_node.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) AS_ENABLE_TEXTNODE=0' }
text_node.dependency 'Texture/Core'
end
spec.subspec 'Video' do |video|
video.frameworks = ['AVFoundation', 'CoreMedia']
video.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) AS_USE_VIDEO=1' }
video.dependency 'Texture/Core'
end
spec.subspec 'MapKit' do |map|
map.frameworks = ['CoreLocation', 'MapKit']
map.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) AS_USE_MAPKIT=1' }
map.dependency 'Texture/Core'
end
spec.subspec 'Photos' do |photos|
photos.frameworks = 'Photos'
photos.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) AS_USE_PHOTOS=1' }
photos.dependency 'Texture/Core'
end
spec.subspec 'AssetsLibrary' do |assetslib|
assetslib.frameworks = 'AssetsLibrary'
assetslib.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) AS_USE_ASSETS_LIBRARY=1' }
assetslib.dependency 'Texture/Core'
end
# Include these by default for backwards compatibility.
# This will change in 3.0.
spec.default_subspecs = 'Core', 'PINRemoteImage', 'Video', 'MapKit', 'AssetsLibrary', 'Photos'
spec.social_media_url = 'https://twitter.com/TextureiOS'
spec.library = 'c++'
spec.pod_target_xcconfig = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11',
'CLANG_CXX_LIBRARY' => 'libc++'
}
end