Skip to content

Commit 0b28c76

Browse files
SmelJeyDecoyRS
authored andcommitted
Extract FastBuild build arguments to FastBuildMakeCommandGenerator
1 parent def8ed2 commit 0b28c76

File tree

3 files changed

+67
-123
lines changed

3 files changed

+67
-123
lines changed

Sharpmake.Generators/Generic/RiderJson.cs

Lines changed: 5 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,11 @@ public RiderGenerationContext(Builder builder, Project project, Project.Configur
197197
if (configuration.IsFastBuild)
198198
{
199199
FastBuildMakeCommandGenerator = new Bff.FastBuildDefaultNMakeCommandGenerator();
200-
FastBuildArguments = string.Join(" ", GetFastBuildOptions());
200+
201+
var fastBuildCommandLineOptions = FastBuildMakeCommandGenerator.GetArguments(Configuration);
202+
fastBuildCommandLineOptions.Add(" -config $(SolutionName)" + FastBuildSettings.FastBuildConfigFileExtension);
203+
204+
FastBuildArguments = string.Join(" ", fastBuildCommandLineOptions);
201205
}
202206
}
203207

@@ -210,71 +214,6 @@ public void SelectOptionWithFallback(Action fallbackAction, params Options.Optio
210214
{
211215
Sharpmake.Options.SelectOptionWithFallback(Configuration, fallbackAction, options);
212216
}
213-
214-
private List<string> GetFastBuildOptions()
215-
{
216-
var fastBuildCommandLineOptions = new List<string>();
217-
218-
if (FastBuildSettings.FastBuildUseIDE)
219-
fastBuildCommandLineOptions.Add("-ide");
220-
221-
if (FastBuildSettings.FastBuildReport)
222-
fastBuildCommandLineOptions.Add("-report");
223-
224-
if (FastBuildSettings.FastBuildNoSummaryOnError)
225-
fastBuildCommandLineOptions.Add("-nosummaryonerror");
226-
227-
if (FastBuildSettings.FastBuildSummary)
228-
fastBuildCommandLineOptions.Add("-summary");
229-
230-
if (FastBuildSettings.FastBuildVerbose)
231-
fastBuildCommandLineOptions.Add("-verbose");
232-
233-
if (FastBuildSettings.FastBuildMonitor)
234-
fastBuildCommandLineOptions.Add("-monitor");
235-
236-
// Configuring cache mode if that configuration is allowed to use caching
237-
if (Configuration.FastBuildCacheAllowed)
238-
{
239-
// Setting the appropriate cache type commandline for that target.
240-
switch (FastBuildSettings.CacheType)
241-
{
242-
case FastBuildSettings.CacheTypes.CacheRead:
243-
fastBuildCommandLineOptions.Add("-cacheread");
244-
break;
245-
case FastBuildSettings.CacheTypes.CacheWrite:
246-
fastBuildCommandLineOptions.Add("-cachewrite");
247-
break;
248-
case FastBuildSettings.CacheTypes.CacheReadWrite:
249-
fastBuildCommandLineOptions.Add("-cache");
250-
break;
251-
default:
252-
break;
253-
}
254-
}
255-
256-
if (FastBuildSettings.FastBuildDistribution && Configuration.FastBuildDistribution)
257-
fastBuildCommandLineOptions.Add("-dist");
258-
259-
if (FastBuildSettings.FastBuildWait)
260-
fastBuildCommandLineOptions.Add("-wait");
261-
262-
if (FastBuildSettings.FastBuildNoStopOnError)
263-
fastBuildCommandLineOptions.Add("-nostoponerror");
264-
265-
if (FastBuildSettings.FastBuildFastCancel)
266-
fastBuildCommandLineOptions.Add("-fastcancel");
267-
268-
if (FastBuildSettings.FastBuildNoUnity)
269-
fastBuildCommandLineOptions.Add("-nounity");
270-
271-
if (!string.IsNullOrEmpty(Configuration.FastBuildCustomArgs))
272-
fastBuildCommandLineOptions.Add(Configuration.FastBuildCustomArgs);
273-
274-
fastBuildCommandLineOptions.Add(" -config $(SolutionName)" + FastBuildSettings.FastBuildConfigFileExtension);
275-
276-
return fastBuildCommandLineOptions;
277-
}
278217
}
279218

280219
/// <summary>

Sharpmake.Generators/VisualStudio/Vcxproj.cs

Lines changed: 1 addition & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -510,63 +510,7 @@ private void GenerateImpl(GenerationContext context, IList<string> generatedFile
510510

511511
if (conf.IsFastBuild)
512512
{
513-
var fastBuildCommandLineOptions = new List<string>();
514-
515-
if (FastBuildSettings.FastBuildUseIDE)
516-
fastBuildCommandLineOptions.Add("-ide");
517-
518-
if (FastBuildSettings.FastBuildReport)
519-
fastBuildCommandLineOptions.Add("-report");
520-
521-
if (FastBuildSettings.FastBuildNoSummaryOnError)
522-
fastBuildCommandLineOptions.Add("-nosummaryonerror");
523-
524-
if (FastBuildSettings.FastBuildSummary)
525-
fastBuildCommandLineOptions.Add("-summary");
526-
527-
if (FastBuildSettings.FastBuildVerbose)
528-
fastBuildCommandLineOptions.Add("-verbose");
529-
530-
if (FastBuildSettings.FastBuildMonitor)
531-
fastBuildCommandLineOptions.Add("-monitor");
532-
533-
// Configuring cache mode if that configuration is allowed to use caching
534-
if (conf.FastBuildCacheAllowed)
535-
{
536-
// Setting the appropriate cache type commandline for that target.
537-
switch (FastBuildSettings.CacheType)
538-
{
539-
case FastBuildSettings.CacheTypes.CacheRead:
540-
fastBuildCommandLineOptions.Add("-cacheread");
541-
break;
542-
case FastBuildSettings.CacheTypes.CacheWrite:
543-
fastBuildCommandLineOptions.Add("-cachewrite");
544-
break;
545-
case FastBuildSettings.CacheTypes.CacheReadWrite:
546-
fastBuildCommandLineOptions.Add("-cache");
547-
break;
548-
default:
549-
break;
550-
}
551-
}
552-
553-
if (FastBuildSettings.FastBuildDistribution && conf.FastBuildDistribution)
554-
fastBuildCommandLineOptions.Add("-dist");
555-
556-
if (FastBuildSettings.FastBuildWait)
557-
fastBuildCommandLineOptions.Add("-wait");
558-
559-
if (FastBuildSettings.FastBuildNoStopOnError)
560-
fastBuildCommandLineOptions.Add("-nostoponerror");
561-
562-
if (FastBuildSettings.FastBuildFastCancel)
563-
fastBuildCommandLineOptions.Add("-fastcancel");
564-
565-
if (FastBuildSettings.FastBuildNoUnity)
566-
fastBuildCommandLineOptions.Add("-nounity");
567-
568-
if (!string.IsNullOrEmpty(conf.FastBuildCustomArgs))
569-
fastBuildCommandLineOptions.Add(conf.FastBuildCustomArgs);
513+
var fastBuildCommandLineOptions = FastBuildMakeCommandGenerator.GetArguments(conf);
570514

571515
if (!string.IsNullOrEmpty(FastBuildCustomArguments))
572516
fastBuildCommandLineOptions.Add(FastBuildCustomArguments);

Sharpmake/FastBuildSettings.cs

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,67 @@ public enum BuildType
2525
};
2626

2727
public abstract string GetCommand(BuildType buildType, Sharpmake.Project.Configuration conf, string fastbuildArguments);
28+
29+
public static List<string> GetArguments(Sharpmake.Project.Configuration conf)
30+
{
31+
var arguments = new List<string>();
32+
if (FastBuildSettings.FastBuildUseIDE)
33+
arguments.Add("-ide");
34+
35+
if (FastBuildSettings.FastBuildReport)
36+
arguments.Add("-report");
37+
38+
if (FastBuildSettings.FastBuildNoSummaryOnError)
39+
arguments.Add("-nosummaryonerror");
40+
41+
if (FastBuildSettings.FastBuildSummary)
42+
arguments.Add("-summary");
43+
44+
if (FastBuildSettings.FastBuildVerbose)
45+
arguments.Add("-verbose");
46+
47+
if (FastBuildSettings.FastBuildMonitor)
48+
arguments.Add("-monitor");
49+
50+
// Configuring cache mode if that configuration is allowed to use caching
51+
if (conf.FastBuildCacheAllowed)
52+
{
53+
// Setting the appropriate cache type commandline for that target.
54+
switch (FastBuildSettings.CacheType)
55+
{
56+
case FastBuildSettings.CacheTypes.CacheRead:
57+
arguments.Add("-cacheread");
58+
break;
59+
case FastBuildSettings.CacheTypes.CacheWrite:
60+
arguments.Add("-cachewrite");
61+
break;
62+
case FastBuildSettings.CacheTypes.CacheReadWrite:
63+
arguments.Add("-cache");
64+
break;
65+
default:
66+
break;
67+
}
68+
}
69+
70+
if (FastBuildSettings.FastBuildDistribution && conf.FastBuildDistribution)
71+
arguments.Add("-dist");
72+
73+
if (FastBuildSettings.FastBuildWait)
74+
arguments.Add("-wait");
75+
76+
if (FastBuildSettings.FastBuildNoStopOnError)
77+
arguments.Add("-nostoponerror");
78+
79+
if (FastBuildSettings.FastBuildFastCancel)
80+
arguments.Add("-fastcancel");
81+
82+
if (FastBuildSettings.FastBuildNoUnity)
83+
arguments.Add("-nounity");
84+
85+
if (!string.IsNullOrEmpty(conf.FastBuildCustomArgs))
86+
arguments.Add(conf.FastBuildCustomArgs);
87+
return arguments;
88+
}
2889
}
2990

3091

0 commit comments

Comments
 (0)