Skip to content

Commit 268cf74

Browse files
committed
Merge commit 'b3285edb5644d534854b5a9786e82dcd5d0bb2ae' into scgamex-v3
* commit 'b3285edb5644d534854b5a9786e82dcd5d0bb2ae': Speed up windows build (cocos2d#18662)
2 parents 939c9e6 + b3285ed commit 268cf74

File tree

12 files changed

+213
-58
lines changed

12 files changed

+213
-58
lines changed

cocos/2d/libcocos2d.vcxproj

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,14 @@
8484
<MinimalRebuild>false</MinimalRebuild>
8585
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
8686
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
87-
<PrecompiledHeader>
88-
</PrecompiledHeader>
87+
<PrecompiledHeader>Use</PrecompiledHeader>
8988
<WarningLevel>Level3</WarningLevel>
9089
<DebugInformationFormat>OldStyle</DebugInformationFormat>
9190
<DisableSpecificWarnings>4267;4251;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
9291
<MultiProcessorCompilation>true</MultiProcessorCompilation>
9392
<CompileAs>CompileAsCpp</CompileAs>
93+
<PrecompiledHeaderFile>precheader.h</PrecompiledHeaderFile>
94+
<ForcedIncludeFiles>precheader.h</ForcedIncludeFiles>
9495
</ClCompile>
9596
<PreLinkEvent>
9697
<Command>if not exist "$(OutDir)" mkdir "$(OutDir)"
@@ -140,15 +141,16 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\openssl\prebuilt\win32\*.*" "$(OutDir)"
140141
<AdditionalIncludeDirectories>$(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\win32;$(EngineRoot)external\jpeg\include\win32;$(EngineRoot)external\tiff\include\win32;$(EngineRoot)external\webp\include\win32;$(EngineRoot)external\freetype2\include\win32;$(EngineRoot)external\win32-specific\MP3Decoder\include;$(EngineRoot)external\win32-specific\OggDecoder\include;$(EngineRoot)external\win32-specific\OpenalSoft\include;$(EngineRoot)external\win32-specific\icon\include;$(EngineRoot)external\win32-specific\zlib\include;$(EngineRoot)external\chipmunk\include;$(EngineRoot)external\xxhash;$(EngineRoot)external\ConvertUTF;$(EngineRoot)external\Box2D\include;$(EngineRoot)external\curl\include\win32;$(EngineRoot)external\websockets\include\win32\;$(EngineRoot)external\poly2tri\common;$(EngineRoot)external\poly2tri\sweep;$(EngineRoot)external\poly2tri;$(EngineRoot)external;$(EngineRoot)cocos;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\platform\win8.1-universal;$(EngineRoot)extensions;$(EngineRoot);$(EngineRoot)external/bullet/include;$(EngineRoot)external/bullet/include/bullet;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
141142
<PreprocessorDefinitions>WIN32;_USRDLL;NDEBUG;_WINDOWS;_LIB;LWS_DLL;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;PROTOBUF_USE_DLLS;LIBPROTOBUF_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
142143
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
143-
<PrecompiledHeader>
144-
</PrecompiledHeader>
144+
<PrecompiledHeader>Use</PrecompiledHeader>
145145
<WarningLevel>Level3</WarningLevel>
146146
<DebugInformationFormat>None</DebugInformationFormat>
147147
<DisableSpecificWarnings>4267;4251;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
148148
<MultiProcessorCompilation>true</MultiProcessorCompilation>
149149
<CompileAs>CompileAsCpp</CompileAs>
150150
<WholeProgramOptimization>false</WholeProgramOptimization>
151151
<Optimization>MinSpace</Optimization>
152+
<PrecompiledHeaderFile>precheader.h</PrecompiledHeaderFile>
153+
<ForcedIncludeFiles>precheader.h</ForcedIncludeFiles>
152154
</ClCompile>
153155
<PreLinkEvent>
154156
<Command>if not exist "$(OutDir)" mkdir "$(OutDir)"
@@ -627,6 +629,12 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\openssl\prebuilt\win32\*.*" "$(OutDir)"
627629
<ClCompile Include="..\platform\win32\CCFileUtils-win32.cpp" />
628630
<ClCompile Include="..\platform\win32\CCStdC-win32.cpp" />
629631
<ClCompile Include="..\platform\win32\CCUtils-win32.cpp" />
632+
<ClCompile Include="..\precheader.cpp">
633+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
634+
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">precheader.h</PrecompiledHeaderFile>
635+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
636+
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">precheader.h</PrecompiledHeaderFile>
637+
</ClCompile>
630638
<ClCompile Include="..\renderer\CCBatchCommand.cpp" />
631639
<ClCompile Include="..\renderer\CCCustomCommand.cpp" />
632640
<ClCompile Include="..\renderer\CCFrameBuffer.cpp" />
@@ -1267,6 +1275,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\openssl\prebuilt\win32\*.*" "$(OutDir)"
12671275
<ClInclude Include="..\platform\win32\CCStdC-win32.h" />
12681276
<ClInclude Include="..\platform\win32\CCUtils-win32.h" />
12691277
<ClInclude Include="..\platform\win32\compat\stdint.h" />
1278+
<ClInclude Include="..\precheader.h" />
12701279
<ClInclude Include="..\renderer\CCBatchCommand.h" />
12711280
<ClInclude Include="..\renderer\CCCustomCommand.h" />
12721281
<ClInclude Include="..\renderer\CCFrameBuffer.h" />

cocos/2d/libcocos2d.vcxproj.filters

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2000,6 +2000,7 @@
20002000
<ClCompile Include="..\base\CCController-linux-win32.cpp" />
20012001
<ClCompile Include="..\base\CCEventController.cpp" />
20022002
<ClCompile Include="..\base\CCEventListenerController.cpp" />
2003+
<ClCompile Include="..\precheader.cpp" />
20032004
</ItemGroup>
20042005
<ItemGroup>
20052006
<ClInclude Include="..\physics\CCPhysicsBody.h">
@@ -3911,6 +3912,7 @@
39113912
<ClInclude Include="..\base\CCController.h" />
39123913
<ClInclude Include="..\base\CCEventController.h" />
39133914
<ClInclude Include="..\base\CCEventListenerController.h" />
3915+
<ClInclude Include="..\precheader.h" />
39143916
</ItemGroup>
39153917
<ItemGroup>
39163918
<None Include="..\math\Mat4.inl">

cocos/precheader.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// do not delete
2+
// this file required for precompiled header feature

cocos/precheader.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// precompiled header
2+
// include here heavy headers which are included in many files
3+
// this will speed-up build a lot
4+
5+
#include "cocos2d.h"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// do not delete
2+
// this file required for precompiled header feature
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// precompiled header
2+
// include here heavy headers which are included in many files
3+
// this will speed-up build a lot
4+
5+
#include "cocos2d.h"

cocos/scripting/js-bindings/proj.win32/libjscocos2d.vcxproj

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@
5454
<ClCompile Include="..\manual\ScriptingCore.cpp" />
5555
<ClCompile Include="..\manual\spine\jsb_cocos2dx_spine_manual.cpp" />
5656
<ClCompile Include="..\manual\ui\jsb_cocos2dx_ui_manual.cpp" />
57+
<ClCompile Include="..\precheader.cpp">
58+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
59+
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">precheader.h</PrecompiledHeaderFile>
60+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
61+
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">precheader.h</PrecompiledHeaderFile>
62+
</ClCompile>
5763
</ItemGroup>
5864
<ItemGroup>
5965
<ClInclude Include="..\auto\jsb_cocos2dx_3d_auto.hpp" />
@@ -107,6 +113,7 @@
107113
<ClInclude Include="..\manual\spidermonkey_specifics.h" />
108114
<ClInclude Include="..\manual\spine\jsb_cocos2dx_spine_manual.h" />
109115
<ClInclude Include="..\manual\ui\jsb_cocos2dx_ui_manual.h" />
116+
<ClInclude Include="..\precheader.h" />
110117
</ItemGroup>
111118
<ItemGroup>
112119
<ProjectReference Include="..\..\..\2d\libcocos2d.vcxproj">
@@ -167,8 +174,7 @@
167174
</PropertyGroup>
168175
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
169176
<ClCompile>
170-
<PrecompiledHeader>
171-
</PrecompiledHeader>
177+
<PrecompiledHeader>Use</PrecompiledHeader>
172178
<WarningLevel>Level3</WarningLevel>
173179
<Optimization>Disabled</Optimization>
174180
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_LIB;COCOS2D_DEBUG=1;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_USRJSSTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -177,6 +183,8 @@
177183
<MultiProcessorCompilation>true</MultiProcessorCompilation>
178184
<MinimalRebuild>false</MinimalRebuild>
179185
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
186+
<PrecompiledHeaderFile>precheader.h</PrecompiledHeaderFile>
187+
<ForcedIncludeFiles>precheader.h</ForcedIncludeFiles>
180188
</ClCompile>
181189
<Link>
182190
<SubSystem>Windows</SubSystem>
@@ -192,8 +200,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*"
192200
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
193201
<ClCompile>
194202
<WarningLevel>Level3</WarningLevel>
195-
<PrecompiledHeader>
196-
</PrecompiledHeader>
203+
<PrecompiledHeader>Use</PrecompiledHeader>
197204
<Optimization>MinSpace</Optimization>
198205
<FunctionLevelLinking>true</FunctionLevelLinking>
199206
<IntrinsicFunctions>true</IntrinsicFunctions>
@@ -202,6 +209,8 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*"
202209
<DisableSpecificWarnings>4068;4101;4800;4251;4244;4099;4083;4700;%(DisableSpecificWarnings)</DisableSpecificWarnings>
203210
<MultiProcessorCompilation>true</MultiProcessorCompilation>
204211
<DebugInformationFormat>None</DebugInformationFormat>
212+
<PrecompiledHeaderFile>precheader.h</PrecompiledHeaderFile>
213+
<ForcedIncludeFiles>precheader.h</ForcedIncludeFiles>
205214
</ClCompile>
206215
<Link>
207216
<SubSystem>Windows</SubSystem>

cocos/scripting/js-bindings/proj.win32/libjscocos2d.vcxproj.filters

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@
176176
<ClCompile Include="..\manual\js_module_register.cpp">
177177
<Filter>manual</Filter>
178178
</ClCompile>
179+
<ClCompile Include="..\precheader.cpp" />
179180
</ItemGroup>
180181
<ItemGroup>
181182
<ClInclude Include="..\auto\jsb_cocos2dx_auto.hpp">
@@ -331,5 +332,6 @@
331332
<ClInclude Include="..\manual\js-BindingsExport.h">
332333
<Filter>manual</Filter>
333334
</ClInclude>
335+
<ClInclude Include="..\precheader.h" />
334336
</ItemGroup>
335-
</Project>
337+
</Project>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// do not delete
2+
// this file required for precompiled header feature

tests/cpp-tests/Classes/precheader.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// precompiled header
2+
// include here heavy headers which are included in many files
3+
// this will speed-up build a lot
4+
5+
#include "cocos2d.h"
6+
#include "ui/CocosGUI.h"
7+
#include "extensions/cocos-ext.h"

0 commit comments

Comments
 (0)