Skip to content

Commit 41fa6e7

Browse files
alloygrabbou
authored andcommitted
Add C++ and standard v14 settings.
Summary: This PR adds the C++ stdlib to the linker flags and sets the C++ standard that’s used to v14. I have tested this with my app, without it any CP build would fail unless users add those flags to the generated projects themselves. /cc grabbou Closes #7800 Differential Revision: D3360421 fbshipit-source-id: 0a80030dd255f073a201acc6e1c846be114c2c2a
1 parent 8b73417 commit 41fa6e7

1 file changed

Lines changed: 50 additions & 48 deletions

File tree

React.podspec

Lines changed: 50 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -29,95 +29,97 @@ Pod::Spec.new do |s|
2929
s.preserve_paths = "cli.js", "Libraries/**/*.js", "lint", "linter.js", "node_modules", "package.json", "packager", "PATENTS", "react-native-cli"
3030

3131
s.subspec 'Core' do |ss|
32-
ss.source_files = "React/**/*.{c,h,m,mm,S}"
33-
ss.exclude_files = "**/__tests__/*", "IntegrationTests/*"
34-
ss.frameworks = "JavaScriptCore"
32+
ss.source_files = "React/**/*.{c,h,m,mm,S}"
33+
ss.exclude_files = "**/__tests__/*", "IntegrationTests/*"
34+
ss.frameworks = "JavaScriptCore"
35+
ss.libraries = "stdc++"
36+
ss.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++14" }
3537
end
3638

3739
s.subspec 'ART' do |ss|
38-
ss.dependency 'React/Core'
39-
ss.source_files = "Libraries/ART/**/*.{h,m}"
40-
ss.preserve_paths = "Libraries/ART/**/*.js"
40+
ss.dependency 'React/Core'
41+
ss.source_files = "Libraries/ART/**/*.{h,m}"
42+
ss.preserve_paths = "Libraries/ART/**/*.js"
4143
end
4244

4345
s.subspec 'RCTActionSheet' do |ss|
44-
ss.dependency 'React/Core'
45-
ss.source_files = "Libraries/ActionSheetIOS/*.{h,m}"
46-
ss.preserve_paths = "Libraries/ActionSheetIOS/*.js"
46+
ss.dependency 'React/Core'
47+
ss.source_files = "Libraries/ActionSheetIOS/*.{h,m}"
48+
ss.preserve_paths = "Libraries/ActionSheetIOS/*.js"
4749
end
4850

4951
s.subspec 'RCTAdSupport' do |ss|
50-
ss.dependency 'React/Core'
51-
ss.source_files = "Libraries/AdSupport/*.{h,m}"
52-
ss.preserve_paths = "Libraries/AdSupport/*.js"
52+
ss.dependency 'React/Core'
53+
ss.source_files = "Libraries/AdSupport/*.{h,m}"
54+
ss.preserve_paths = "Libraries/AdSupport/*.js"
5355
end
5456

5557
s.subspec 'RCTCameraRoll' do |ss|
56-
ss.dependency 'React/Core'
57-
ss.dependency 'React/RCTImage'
58-
ss.source_files = "Libraries/CameraRoll/*.{h,m}"
59-
ss.preserve_paths = "Libraries/CameraRoll/*.js"
58+
ss.dependency 'React/Core'
59+
ss.dependency 'React/RCTImage'
60+
ss.source_files = "Libraries/CameraRoll/*.{h,m}"
61+
ss.preserve_paths = "Libraries/CameraRoll/*.js"
6062
end
6163

6264
s.subspec 'RCTGeolocation' do |ss|
63-
ss.dependency 'React/Core'
64-
ss.source_files = "Libraries/Geolocation/*.{h,m}"
65-
ss.preserve_paths = "Libraries/Geolocation/*.js"
65+
ss.dependency 'React/Core'
66+
ss.source_files = "Libraries/Geolocation/*.{h,m}"
67+
ss.preserve_paths = "Libraries/Geolocation/*.js"
6668
end
6769

6870
s.subspec 'RCTImage' do |ss|
69-
ss.dependency 'React/Core'
70-
ss.dependency 'React/RCTNetwork'
71-
ss.source_files = "Libraries/Image/*.{h,m}"
72-
ss.preserve_paths = "Libraries/Image/*.js"
71+
ss.dependency 'React/Core'
72+
ss.dependency 'React/RCTNetwork'
73+
ss.source_files = "Libraries/Image/*.{h,m}"
74+
ss.preserve_paths = "Libraries/Image/*.js"
7375
end
7476

7577
s.subspec 'RCTNetwork' do |ss|
76-
ss.dependency 'React/Core'
77-
ss.source_files = "Libraries/Network/*.{h,m}"
78-
ss.preserve_paths = "Libraries/Network/*.js"
78+
ss.dependency 'React/Core'
79+
ss.source_files = "Libraries/Network/*.{h,m}"
80+
ss.preserve_paths = "Libraries/Network/*.js"
7981
end
8082

8183
s.subspec 'RCTPushNotification' do |ss|
82-
ss.dependency 'React/Core'
83-
ss.source_files = "Libraries/PushNotificationIOS/*.{h,m}"
84-
ss.preserve_paths = "Libraries/PushNotificationIOS/*.js"
84+
ss.dependency 'React/Core'
85+
ss.source_files = "Libraries/PushNotificationIOS/*.{h,m}"
86+
ss.preserve_paths = "Libraries/PushNotificationIOS/*.js"
8587
end
8688

8789
s.subspec 'RCTSettings' do |ss|
88-
ss.dependency 'React/Core'
89-
ss.source_files = "Libraries/Settings/*.{h,m}"
90-
ss.preserve_paths = "Libraries/Settings/*.js"
90+
ss.dependency 'React/Core'
91+
ss.source_files = "Libraries/Settings/*.{h,m}"
92+
ss.preserve_paths = "Libraries/Settings/*.js"
9193
end
9294

9395
s.subspec 'RCTText' do |ss|
94-
ss.dependency 'React/Core'
95-
ss.source_files = "Libraries/Text/*.{h,m}"
96-
ss.preserve_paths = "Libraries/Text/*.js"
96+
ss.dependency 'React/Core'
97+
ss.source_files = "Libraries/Text/*.{h,m}"
98+
ss.preserve_paths = "Libraries/Text/*.js"
9799
end
98100

99101
s.subspec 'RCTVibration' do |ss|
100-
ss.dependency 'React/Core'
101-
ss.source_files = "Libraries/Vibration/*.{h,m}"
102-
ss.preserve_paths = "Libraries/Vibration/*.js"
102+
ss.dependency 'React/Core'
103+
ss.source_files = "Libraries/Vibration/*.{h,m}"
104+
ss.preserve_paths = "Libraries/Vibration/*.js"
103105
end
104106

105107
s.subspec 'RCTWebSocket' do |ss|
106-
ss.dependency 'React/Core'
107-
ss.source_files = "Libraries/WebSocket/*.{h,m}"
108-
ss.preserve_paths = "Libraries/WebSocket/*.js"
108+
ss.dependency 'React/Core'
109+
ss.source_files = "Libraries/WebSocket/*.{h,m}"
110+
ss.preserve_paths = "Libraries/WebSocket/*.js"
109111
end
110112

111113
s.subspec 'RCTLinkingIOS' do |ss|
112-
ss.dependency 'React/Core'
113-
ss.source_files = "Libraries/LinkingIOS/*.{h,m}"
114-
ss.preserve_paths = "Libraries/LinkingIOS/*.js"
114+
ss.dependency 'React/Core'
115+
ss.source_files = "Libraries/LinkingIOS/*.{h,m}"
116+
ss.preserve_paths = "Libraries/LinkingIOS/*.js"
115117
end
116118

117119
s.subspec 'RCTTest' do |ss|
118-
ss.dependency 'React/Core'
119-
ss.source_files = "Libraries/RCTTest/**/*.{h,m}"
120-
ss.preserve_paths = "Libraries/RCTTest/**/*.js"
121-
ss.frameworks = "XCTest"
120+
ss.dependency 'React/Core'
121+
ss.source_files = "Libraries/RCTTest/**/*.{h,m}"
122+
ss.preserve_paths = "Libraries/RCTTest/**/*.js"
123+
ss.frameworks = "XCTest"
122124
end
123125
end

0 commit comments

Comments
 (0)