diff --git a/Source/Tools/Flax.Build/Build/NativeCpp/LinkEnvironment.cs b/Source/Tools/Flax.Build/Build/NativeCpp/LinkEnvironment.cs
index f66dc513c..85a715af6 100644
--- a/Source/Tools/Flax.Build/Build/NativeCpp/LinkEnvironment.cs
+++ b/Source/Tools/Flax.Build/Build/NativeCpp/LinkEnvironment.cs
@@ -1,4 +1,4 @@
-// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
+// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
using System;
using System.Collections.Generic;
@@ -76,6 +76,11 @@ namespace Flax.Build.NativeCpp
///
public bool GenerateWindowsMetadata = false;
+ ///
+ /// Use CONSOLE subsystem on Windows instead of the WINDOWS one.
+ ///
+ public bool LinkAsConsoleProgram = false;
+
///
/// Enables documentation generation.
///
@@ -114,6 +119,7 @@ namespace Flax.Build.NativeCpp
LinkTimeCodeGeneration = LinkTimeCodeGeneration,
UseIncrementalLinking = UseIncrementalLinking,
GenerateWindowsMetadata = GenerateWindowsMetadata,
+ LinkAsConsoleProgram = LinkAsConsoleProgram,
GenerateDocumentation = GenerateDocumentation
};
foreach (var e in InputFiles)
diff --git a/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchainBase.cs b/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchainBase.cs
index 8a1b3b43f..5caf3e806 100644
--- a/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchainBase.cs
+++ b/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchainBase.cs
@@ -675,7 +675,14 @@ namespace Flax.Build.Platforms
}
// Specify subsystem
- args.Add("/SUBSYSTEM:WINDOWS");
+ if (linkEnvironment.LinkAsConsoleProgram)
+ {
+ args.Add("/SUBSYSTEM:CONSOLE");
+ }
+ else
+ {
+ args.Add("/SUBSYSTEM:WINDOWS");
+ }
// Generate Windows Metadata
if (linkEnvironment.GenerateWindowsMetadata)