MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / Setup

Method Setup

Source/Engine/Scripting/Scripting.Build.cs:12–57  ·  view source on GitHub ↗

(BuildOptions options)

Source from the content-addressed store, hash-verified

10{
11 /// <inheritdoc />
12 public override void Setup(BuildOptions options)
13 {
14 base.Setup(options);
15
16 if (EngineConfiguration.WithCSharp(options))
17 {
18 if (EngineConfiguration.WithDotNet(options))
19 {
20 void AddFrameworkDefines(string template, int major, int latestMinor)
21 {
22 for (int minor = latestMinor; minor >= 0; minor--)
23 options.ScriptingAPI.Defines.Add(string.Format(template, major, minor));
24 }
25
26 // .NET
27 options.PrivateDependencies.Add("nethost");
28 options.ScriptingAPI.Defines.Add("USE_NETCORE");
29
30 // .NET SDK
31 var dotnetSdk = DotNetSdk.Instance;
32 options.ScriptingAPI.Defines.Add("NET");
33 AddFrameworkDefines("NET{0}_{1}", dotnetSdk.Version.Major, 0); // "NET7_0"
34 for (int i = 5; i <= dotnetSdk.Version.Major; i++)
35 AddFrameworkDefines("NET{0}_{1}_OR_GREATER", i, 0); // "NET7_0_OR_GREATER"
36 options.ScriptingAPI.Defines.Add("NETCOREAPP");
37 AddFrameworkDefines("NETCOREAPP{0}_{1}_OR_GREATER", 3, 1); // "NETCOREAPP3_1_OR_GREATER"
38 AddFrameworkDefines("NETCOREAPP{0}_{1}_OR_GREATER", 2, 2);
39 AddFrameworkDefines("NETCOREAPP{0}_{1}_OR_GREATER", 1, 1);
40
41 if (options.Target is EngineTarget engineTarget && engineTarget.UseSeparateMainExecutable(options))
42 {
43 // Build target doesn't support linking again main executable (eg. Linux) thus additional shared library is used for the engine (eg. libFlaxEditor.so)
44 var fileName = options.Platform.GetLinkOutputFileName(EngineTarget.LibraryName, LinkerOutput.SharedLibrary);
45 options.CompileEnv.PreprocessorDefinitions.Add("MCORE_MAIN_MODULE_NAME=" + fileName);
46 }
47 }
48 else
49 {
50 // Mono
51 options.PrivateDependencies.Add("mono");
52 options.ScriptingAPI.Defines.Add("USE_MONO");
53 }
54 }
55
56 options.PrivateDependencies.Add("Utilities");
57 }
58}

Callers

nothing calls this directly

Calls 5

WithCSharpMethod · 0.80
WithDotNetMethod · 0.80
GetLinkOutputFileNameMethod · 0.80
AddMethod · 0.45

Tested by

no test coverage detected