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)