From 3ba05f52df35d56e809f50237a65abb57cb0aed4 Mon Sep 17 00:00:00 2001 From: Ari Vuollet Date: Sun, 30 Jul 2023 21:41:32 +0300 Subject: [PATCH] Add common .NET SDK preprocessor definitions --- Source/Engine/Scripting/Scripting.Build.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Source/Engine/Scripting/Scripting.Build.cs b/Source/Engine/Scripting/Scripting.Build.cs index 21f4477d0..10fc2aff9 100644 --- a/Source/Engine/Scripting/Scripting.Build.cs +++ b/Source/Engine/Scripting/Scripting.Build.cs @@ -17,10 +17,29 @@ public class Scripting : EngineModule { if (EngineConfiguration.WithDotNet(options)) { + void AddFrameworkDefines(string template, int major, int latestMinor) + { + for (int minor = latestMinor; minor >= 0; minor--) + { + options.ScriptingAPI.Defines.Add(string.Format(template, major, minor)); + options.ScriptingAPI.Defines.Add(string.Format($"{template}_OR_GREATER", major, minor)); + } + } + // .NET options.PrivateDependencies.Add("nethost"); options.ScriptingAPI.Defines.Add("USE_NETCORE"); + // .NET SDK + AddFrameworkDefines("NET{0}_{1}", 7, 0); // "NET7_0" and "NET7_0_OR_GREATER" + AddFrameworkDefines("NET{0}_{1}", 6, 0); + AddFrameworkDefines("NET{0}_{1}", 5, 0); + options.ScriptingAPI.Defines.Add("NET"); + AddFrameworkDefines("NETCOREAPP{0}_{1}", 3, 1); // "NETCOREAPP3_1" and "NETCOREAPP3_1_OR_GREATER" + AddFrameworkDefines("NETCOREAPP{0}_{1}", 2, 2); + AddFrameworkDefines("NETCOREAPP{0}_{1}", 1, 1); + options.ScriptingAPI.Defines.Add("NETCOREAPP"); + if (options.Target is EngineTarget engineTarget && engineTarget.UseSeparateMainExecutable(options)) { // Build target doesn't support linking again main executable (eg. Linux) thus additional shared library is used for the engine (eg. libFlaxEditor.so)