Sfoglia il codice sorgente

Disable automatically opening the console on windows yuzu-cmd builds (#9485)

* don't automatically open the console on windows build of yuzu-cmd

* fix formatting
Chris Oboe 3 anni fa
parent
commit
201733d1b5
2 ha cambiato i file con 16 aggiunte e 0 eliminazioni
  1. 9 0
      src/yuzu_cmd/CMakeLists.txt
  2. 7 0
      src/yuzu_cmd/yuzu.cpp

+ 9 - 0
src/yuzu_cmd/CMakeLists.txt

@@ -49,6 +49,15 @@ if(UNIX AND NOT APPLE)
     install(TARGETS yuzu-cmd)
 endif()
 
+if(WIN32)
+    # compile as a win32 gui application instead of a console application
+    if(MSVC)
+        set_target_properties(yuzu-cmd PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup")
+    elseif(MINGW)
+        set_target_properties(yuzu-cmd PROPERTIES LINK_FLAGS_RELEASE "-Wl,--subsystem,windows")
+    endif()
+endif()
+
 if (MSVC)
     include(CopyYuzuSDLDeps)
     copy_yuzu_SDL_deps(yuzu-cmd)

+ 7 - 0
src/yuzu_cmd/yuzu.cpp

@@ -174,6 +174,13 @@ static void OnStatusMessageReceived(const Network::StatusMessageEntry& msg) {
 
 /// Application entry point
 int main(int argc, char** argv) {
+#ifdef _WIN32
+    if (AttachConsole(ATTACH_PARENT_PROCESS)) {
+        freopen("CONOUT$", "wb", stdout);
+        freopen("CONOUT$", "wb", stderr);
+    }
+#endif
+
     Common::Log::Initialize();
     Common::Log::SetColorConsoleBackendEnabled(true);
     Common::Log::Start();