diff --git a/Source/FlaxEditor.Build.cs b/Source/FlaxEditor.Build.cs
index 85facb2a6..a27ae42b3 100644
--- a/Source/FlaxEditor.Build.cs
+++ b/Source/FlaxEditor.Build.cs
@@ -14,7 +14,6 @@ public class FlaxEditor : EngineTarget
{
base.Init();
- // Initialize
IsEditor = true;
OutputName = "FlaxEditor";
ConfigurationName = "Editor";
@@ -31,7 +30,6 @@ public class FlaxEditor : EngineTarget
TargetArchitecture.ARM64,
};
GlobalDefinitions.Add("USE_EDITOR");
- Win32ResourceFile = Path.Combine(Globals.EngineRoot, "Source", "FlaxEditor.rc");
Modules.Add("Editor");
Modules.Add("CSG");
diff --git a/Source/FlaxEditor.rc b/Source/FlaxEngine.rc
similarity index 91%
rename from Source/FlaxEditor.rc
rename to Source/FlaxEngine.rc
index fc44418ba..0097e76a7 100644
--- a/Source/FlaxEditor.rc
+++ b/Source/FlaxEngine.rc
@@ -70,12 +70,12 @@ BEGIN
BLOCK "040004b0"
BEGIN
VALUE "CompanyName", FLAXENGINE_COMPANY
- VALUE "FileDescription", "Flax Editor"
+ VALUE "FileDescription", PRODUCT_NAME
VALUE "FileVersion", FLAXENGINE_VERSION_TEXT
- VALUE "InternalName", "FlaxEditor"
+ VALUE "InternalName", PRODUCT_NAME_INTERNAL
VALUE "LegalCopyright", FLAXENGINE_COPYRIGHT
- VALUE "OriginalFilename", "FlaxEditor.exe"
- VALUE "ProductName", "Flax Editor"
+ VALUE "OriginalFilename", ORIGINAL_FILENAME
+ VALUE "ProductName", PRODUCT_NAME
VALUE "ProductVersion", FLAXENGINE_VERSION_TEXT
END
END
diff --git a/Source/FlaxGame.Build.cs b/Source/FlaxGame.Build.cs
index 8f2bc2b3d..590773244 100644
--- a/Source/FlaxGame.Build.cs
+++ b/Source/FlaxGame.Build.cs
@@ -14,11 +14,10 @@ public class FlaxGame : EngineTarget
{
base.Init();
- // Initialize
OutputName = "FlaxGame";
ConfigurationName = "Game";
IsPreBuilt = false;
- Win32ResourceFile = Path.Combine(Globals.EngineRoot, "Source", "FlaxGame.rc");
+ IsMonolithicExecutable = false;
}
///
diff --git a/Source/FlaxGame.rc b/Source/FlaxGame.rc
deleted file mode 100644
index 6d1e4d480..000000000
--- a/Source/FlaxGame.rc
+++ /dev/null
@@ -1,102 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-#include "FlaxEngine.Gen.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Polish (Poland) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_PLK)
-LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-// Icon
-IDR_MAINFRAME ICON "Icon.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION FLAXENGINE_VERSION_MAJOR,FLAXENGINE_VERSION_MINOR,FLAXENGINE_VERSION_BUILD
- PRODUCTVERSION FLAXENGINE_VERSION_MAJOR,FLAXENGINE_VERSION_MINOR,FLAXENGINE_VERSION_BUILD
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040004b0"
- BEGIN
- VALUE "CompanyName", FLAXENGINE_COMPANY
- VALUE "FileDescription", "Flax Engine"
- VALUE "FileVersion", FLAXENGINE_VERSION_TEXT
- VALUE "InternalName", "FlaxEngine"
- VALUE "LegalCopyright", FLAXENGINE_COPYRIGHT
- VALUE "OriginalFilename", "FlaxGame.exe"
- VALUE "ProductName", "Flax Engine"
- VALUE "ProductVersion", FLAXENGINE_VERSION_TEXT
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x400, 1200
- END
-END
-
-#endif
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/Source/Tools/Flax.Build/Build/EngineTarget.cs b/Source/Tools/Flax.Build/Build/EngineTarget.cs
index b8dff9ce0..8c7c4a58a 100644
--- a/Source/Tools/Flax.Build/Build/EngineTarget.cs
+++ b/Source/Tools/Flax.Build/Build/EngineTarget.cs
@@ -70,6 +70,7 @@ namespace Flax.Build
Modules.Add("Main");
Modules.Add("Engine");
+ Win32ResourceFile = Path.Combine(Globals.EngineRoot, "Source", "FlaxEngine.rc");
}
///
@@ -194,6 +195,7 @@ namespace Flax.Build
mainModuleOptions.SourcePaths.Add(mainModule.FolderPath);
mainModule.Setup(mainModuleOptions);
mainModuleOptions.MergeSourcePathsIntoSourceFiles();
+ mainModuleOptions.CompileEnv.PrecompiledHeaderUsage = PrecompiledHeaderFileUsage.None;
mainModuleOptions.CompileEnv.PreprocessorDefinitions.Add("FLAXENGINE_API=" + buildOptions.Toolchain.DllImport);
Builder.BuildModuleInner(buildData, mainModule, mainModuleOptions, false);
diff --git a/Source/Tools/Flax.Build/Build/NativeCpp/LinkEnvironment.cs b/Source/Tools/Flax.Build/Build/NativeCpp/LinkEnvironment.cs
index 92f08d71f..2734034c9 100644
--- a/Source/Tools/Flax.Build/Build/NativeCpp/LinkEnvironment.cs
+++ b/Source/Tools/Flax.Build/Build/NativeCpp/LinkEnvironment.cs
@@ -127,8 +127,7 @@ namespace Flax.Build.NativeCpp
LinkAsConsoleProgram = LinkAsConsoleProgram,
GenerateDocumentation = GenerateDocumentation
};
- foreach (var e in InputFiles)
- clone.InputFiles.Add(e);
+ clone.InputFiles.AddRange(InputFiles);
clone.DocumentationFiles.AddRange(DocumentationFiles);
clone.InputLibraries.AddRange(InputLibraries);
clone.LibraryPaths.AddRange(LibraryPaths);
diff --git a/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchain.cs b/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchain.cs
index e21a1ce1a..2807dcb11 100644
--- a/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchain.cs
+++ b/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchain.cs
@@ -43,12 +43,12 @@ namespace Flax.Build.Platforms
}
///
- public override void PreBuild(TaskGraph graph, BuildOptions options)
+ public override void LinkFiles(TaskGraph graph, BuildOptions options, string outputFilePath)
{
- base.PreBuild(graph, options);
-
// Compile and include resource file if need to
- if (options.Target.Win32ResourceFile != null && !options.Target.IsPreBuilt && options.Target.OutputType == TargetOutputType.Executable)
+ if (options.Target.Win32ResourceFile != null &&
+ !options.Target.IsPreBuilt &&
+ (options.LinkEnv.Output == LinkerOutput.Executable || options.LinkEnv.Output == LinkerOutput.SharedLibrary))
{
var task = graph.Add();
var args = new List();
@@ -62,24 +62,22 @@ namespace Flax.Build.Platforms
// Add preprocessor definitions
foreach (var definition in options.CompileEnv.PreprocessorDefinitions)
- {
args.Add(string.Format("/D \"{0}\"", definition));
- }
+ args.Add(string.Format("/D \"ORIGINAL_FILENAME=\\\"{0}\\\"\"", Path.GetFileName(outputFilePath)));
+ args.Add(string.Format("/D \"PRODUCT_NAME=\\\"{0}\\\"\"", options.Target.ProjectName + " " + options.Target.ConfigurationName));
+ args.Add(string.Format("/D \"PRODUCT_NAME_INTERNAL=\\\"{0}\\\"\"", options.Target.Name));
// Add include paths
foreach (var includePath in options.CompileEnv.IncludePaths)
- {
AddIncludePath(args, includePath);
- }
// Add the resource file to the produced item list
- var outputFile = Path.Combine(options.IntermediateFolder, Path.GetFileNameWithoutExtension(sourceFile) + ".res");
+ var outputFile = Path.Combine(options.IntermediateFolder, Path.GetFileName(outputFilePath) + ".res");
args.Add(string.Format("/Fo\"{0}\"", outputFile));
options.LinkEnv.InputFiles.Add(outputFile);
// Request included files to exist
- var includes = IncludesCache.FindAllIncludedFiles(sourceFile);
- task.PrerequisiteFiles.AddRange(includes);
+ task.PrerequisiteFiles.AddRange(IncludesCache.FindAllIncludedFiles(sourceFile));
// Add the source file
args.Add(string.Format("\"{0}\"", sourceFile));
@@ -91,6 +89,8 @@ namespace Flax.Build.Platforms
task.PrerequisiteFiles.Add(sourceFile);
task.Cost = 1;
}
+
+ base.LinkFiles(graph, options, outputFilePath);
}
}
}