From daff3abdc158c757d56ddb67de3266cdc2879128 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 6 Feb 2023 10:25:07 +0100 Subject: [PATCH] Add engine version defines to C++ game scripts --- Source/Tools/Flax.Build/Build/GameModule.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Source/Tools/Flax.Build/Build/GameModule.cs b/Source/Tools/Flax.Build/Build/GameModule.cs index 5e1ebfdda..82ce9593d 100644 --- a/Source/Tools/Flax.Build/Build/GameModule.cs +++ b/Source/Tools/Flax.Build/Build/GameModule.cs @@ -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 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)); + } } ///