Add engine version defines to C++ game scripts

This commit is contained in:
Wojtek Figat
2023-02-06 10:25:07 +01:00
parent a175e58107
commit daff3abdc1

View File

@@ -1,5 +1,7 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
using System.Collections.Generic;
using Flax.Build.NativeCpp;
namespace Flax.Build
@@ -23,10 +25,9 @@ namespace Flax.Build
// Setup scripting API environment
var engineVersion = EngineTarget.EngineVersion;
AddEngineVersionDefines(engineVersion, options.ScriptingAPI.Defines);
AddEngineVersionDefines(engineVersion, options.CompileEnv.PreprocessorDefinitions);
options.ScriptingAPI.Defines.Add("FLAX");
options.ScriptingAPI.Defines.Add(string.Format("FLAX_{0}", engineVersion.Major));
options.ScriptingAPI.Defines.Add(string.Format("FLAX_{0}_{1}", engineVersion.Major, engineVersion.Minor));
options.ScriptingAPI.Defines.Add("FLAX_ASSERTIONS");
if (options.Target.IsEditor)
{
@@ -37,6 +38,14 @@ namespace Flax.Build
options.ScriptingAPI.Defines.Add("FLAX_GAME");
}
}
private void AddEngineVersionDefines(Version engineVersion, HashSet<string> defines)
{
defines.Add(string.Format("FLAX_{0}", engineVersion.Major));
defines.Add(string.Format("FLAX_{0}_{1}", engineVersion.Major, engineVersion.Minor));
for (int minor = 1; minor <= engineVersion.Minor; minor++)
defines.Add(string.Format("FLAX_{0}_{1}_OR_NEWER", engineVersion.Major, minor));
}
}
/// <summary>