Skip to content

Commit d8b9dcd

Browse files
authored
[hlc] Add jumbo build for vs template (#737)
1 parent 9ccfeaa commit d8b9dcd

File tree

4 files changed

+53
-30
lines changed

4 files changed

+53
-30
lines changed

other/haxelib/Run.hx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class Build {
4646
tpl = "vs2015";
4747
var srcDir = tpl;
4848
var targetDir = config.defines.get("hlgen.makefilepath");
49+
var jumboBuild = config.defines.get("hlgen.makefile.jumbo");
4950
var relDir = "";
5051
if( targetDir == null )
5152
targetDir = this.targetDir;
@@ -125,15 +126,17 @@ class Build {
125126
}
126127
var content = sys.io.File.getContent(srcPath);
127128
var tpl = new haxe.Template(content);
128-
content = tpl.execute({
129+
var context = {
129130
name : this.name,
130131
libraries : [for( l in config.libs ) if( l != "std" ) { name : l }],
131132
files : files,
132133
relDir : relDir,
133134
directories : directories,
134135
cfiles : [for( f in files ) if( StringTools.endsWith(f.path,".c") ) f],
135136
hfiles : [for( f in files ) if( StringTools.endsWith(f.path,".h") ) f],
136-
},{
137+
jumboBuild : jumboBuild,
138+
};
139+
var macros = {
137140
makeUID : function(_,s:String) {
138141
var sha1 = haxe.crypto.Sha1.encode(s);
139142
sha1 = sha1.toUpperCase();
@@ -147,7 +150,12 @@ class Build {
147150
},
148151
winPath : function(_,s:String) return s.split("/").join("\\"),
149152
getEnv : function(_,s:String) return Sys.getEnv(s),
150-
});
153+
setDefaultJumboBuild: function(_, b:String) {
154+
context.jumboBuild ??= b;
155+
return "";
156+
}
157+
};
158+
content = tpl.execute(context, macros);
151159
var prevContent = try sys.io.File.getContent(targetPath) catch( e : Dynamic ) null;
152160
if( prevContent != content )
153161
sys.io.File.saveContent(targetPath, content);

other/haxelib/templates/vs2015/__file__.vcxproj

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
$$setDefaultJumboBuild(true)<?xml version="1.0" encoding="utf-8"?>
22
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup Label="ProjectConfigurations">
44
<ProjectConfiguration Include="Debug|Win32">
@@ -95,7 +95,7 @@
9595
</PrecompiledHeader>
9696
<WarningLevel>Level3</WarningLevel>
9797
<Optimization>Disabled</Optimization>
98-
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
98+
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
9999
<SDLCheck>true</SDLCheck>
100100
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
101101
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -115,7 +115,7 @@
115115
</PrecompiledHeader>
116116
<WarningLevel>Level3</WarningLevel>
117117
<Optimization>Disabled</Optimization>
118-
<PreprocessorDefinitions>_DEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
118+
<PreprocessorDefinitions>_DEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
119119
<SDLCheck>true</SDLCheck>
120120
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
121121
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -137,7 +137,7 @@
137137
<Optimization>MaxSpeed</Optimization>
138138
<FunctionLevelLinking>true</FunctionLevelLinking>
139139
<IntrinsicFunctions>true</IntrinsicFunctions>
140-
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
140+
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
141141
<SDLCheck>true</SDLCheck>
142142
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
143143
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -161,7 +161,7 @@
161161
<Optimization>MaxSpeed</Optimization>
162162
<FunctionLevelLinking>true</FunctionLevelLinking>
163163
<IntrinsicFunctions>true</IntrinsicFunctions>
164-
<PreprocessorDefinitions>NDEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
164+
<PreprocessorDefinitions>NDEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
165165
<SDLCheck>true</SDLCheck>
166166
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
167167
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -180,12 +180,17 @@
180180
<ItemGroup>
181181
<ClCompile Include="stdafx.c">
182182
<PrecompiledHeader>Create</PrecompiledHeader>
183-
</ClCompile>::foreach cfiles::
184-
<ClCompile Include="::relDir::::path::" />::end::
185-
</ItemGroup>
183+
</ClCompile>::if (jumboBuild == "true")::
184+
<ClCompile Include="::relDir::::name::.c" />
185+
<!--::end::::foreach cfiles::
186+
<ClCompile Include="::relDir::::path::" />::end::::if (jumboBuild == "true")::
187+
-->::end::
188+
</ItemGroup>::if (jumboBuild == "true")::
189+
<!--::end::
186190
<ItemGroup>::foreach hfiles::
187191
<ClInclude Include="::relDir::::path::" />::end::
188-
</ItemGroup>
192+
</ItemGroup>::if (jumboBuild == "true")::
193+
-->::end::
189194
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
190195
<ImportGroup Label="ExtensionTargets">
191196
</ImportGroup>

other/haxelib/templates/vs2017/__file__.vcxproj

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
$$setDefaultJumboBuild(true)<?xml version="1.0" encoding="utf-8"?>
22
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup Label="ProjectConfigurations">
44
<ProjectConfiguration Include="Debug|Win32">
@@ -97,7 +97,7 @@
9797
<WarningLevel>Level3</WarningLevel>
9898
<Optimization>Disabled</Optimization>
9999
<SDLCheck>true</SDLCheck>
100-
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
100+
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
101101
<ConformanceMode>true</ConformanceMode>
102102
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
103103
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -118,7 +118,7 @@
118118
<WarningLevel>Level3</WarningLevel>
119119
<Optimization>Disabled</Optimization>
120120
<SDLCheck>true</SDLCheck>
121-
<PreprocessorDefinitions>_DEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
121+
<PreprocessorDefinitions>_DEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
122122
<ConformanceMode>true</ConformanceMode>
123123
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
124124
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -141,7 +141,7 @@
141141
<FunctionLevelLinking>true</FunctionLevelLinking>
142142
<IntrinsicFunctions>true</IntrinsicFunctions>
143143
<SDLCheck>true</SDLCheck>
144-
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
144+
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
145145
<ConformanceMode>true</ConformanceMode>
146146
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
147147
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -166,7 +166,7 @@
166166
<FunctionLevelLinking>true</FunctionLevelLinking>
167167
<IntrinsicFunctions>true</IntrinsicFunctions>
168168
<SDLCheck>true</SDLCheck>
169-
<PreprocessorDefinitions>NDEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
169+
<PreprocessorDefinitions>NDEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
170170
<ConformanceMode>true</ConformanceMode>
171171
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
172172
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -185,12 +185,17 @@
185185
<ItemGroup>
186186
<ClCompile Include="stdafx.c">
187187
<PrecompiledHeader>Create</PrecompiledHeader>
188-
</ClCompile>::foreach cfiles::
189-
<ClCompile Include="::relDir::::path::" />::end::
190-
</ItemGroup>
188+
</ClCompile>::if (jumboBuild == "true")::
189+
<ClCompile Include="::relDir::::name::.c" />
190+
<!--::end::::foreach cfiles::
191+
<ClCompile Include="::relDir::::path::" />::end::::if (jumboBuild == "true")::
192+
-->::end::
193+
</ItemGroup>::if (jumboBuild == "true")::
194+
<!--::end::
191195
<ItemGroup>::foreach hfiles::
192196
<ClInclude Include="::relDir::::path::" />::end::
193-
</ItemGroup>
197+
</ItemGroup>::if (jumboBuild == "true")::
198+
-->::end::
194199
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
195200
<ImportGroup Label="ExtensionTargets">
196201
</ImportGroup>

other/haxelib/templates/vs2019/__file__.vcxproj

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
$$setDefaultJumboBuild(true)<?xml version="1.0" encoding="utf-8"?>
22
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup Label="ProjectConfigurations">
44
<ProjectConfiguration Include="Debug|Win32">
@@ -95,7 +95,7 @@
9595
<WarningLevel>Level3</WarningLevel>
9696
<Optimization>Disabled</Optimization>
9797
<SDLCheck>true</SDLCheck>
98-
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
98+
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
9999
<ConformanceMode>true</ConformanceMode>
100100
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
101101
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -116,7 +116,7 @@
116116
<FunctionLevelLinking>true</FunctionLevelLinking>
117117
<IntrinsicFunctions>true</IntrinsicFunctions>
118118
<SDLCheck>true</SDLCheck>
119-
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
119+
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
120120
<ConformanceMode>true</ConformanceMode>
121121
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
122122
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -137,7 +137,7 @@
137137
<WarningLevel>Level3</WarningLevel>
138138
<Optimization>Disabled</Optimization>
139139
<SDLCheck>true</SDLCheck>
140-
<PreprocessorDefinitions>_DEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
140+
<PreprocessorDefinitions>_DEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
141141
<ConformanceMode>true</ConformanceMode>
142142
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
143143
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -158,7 +158,7 @@
158158
<FunctionLevelLinking>true</FunctionLevelLinking>
159159
<IntrinsicFunctions>true</IntrinsicFunctions>
160160
<SDLCheck>true</SDLCheck>
161-
<PreprocessorDefinitions>NDEBUG;_CONSOLE;HL_MAKE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
161+
<PreprocessorDefinitions>NDEBUG;_CONSOLE;::if (jumboBuild != "true")::HL_MAKE;::end::%(PreprocessorDefinitions)</PreprocessorDefinitions>
162162
<ConformanceMode>true</ConformanceMode>
163163
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
164164
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -177,12 +177,17 @@
177177
<ItemGroup>
178178
<ClCompile Include="stdafx.c">
179179
<PrecompiledHeader>Create</PrecompiledHeader>
180-
</ClCompile>::foreach cfiles::
181-
<ClCompile Include="::relDir::::path::" />::end::
182-
</ItemGroup>
180+
</ClCompile>::if (jumboBuild == "true")::
181+
<ClCompile Include="::relDir::::name::.c" />
182+
<!--::end::::foreach cfiles::
183+
<ClCompile Include="::relDir::::path::" />::end::::if (jumboBuild == "true")::
184+
-->::end::
185+
</ItemGroup>::if (jumboBuild == "true")::
186+
<!--::end::
183187
<ItemGroup>::foreach hfiles::
184188
<ClInclude Include="::relDir::::path::" />::end::
185-
</ItemGroup>
189+
</ItemGroup>::if (jumboBuild == "true")::
190+
-->::end::
186191
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
187192
<ImportGroup Label="ExtensionTargets">
188193
</ImportGroup>

0 commit comments

Comments
 (0)