From 819c21d99e39dd90cefd84a2c4d8884982456d44 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Mon, 15 Apr 2019 17:32:47 -0400 Subject: [PATCH] CMakeLists: Ensure we specify Unicode as the codepage on Windows Previously we were building with MBCS, which is pretty undesirable. We want the application to be Unicode-aware in general. Currently, we make the command line variant of yuzu use ANSI variants of the non-standard getopt functions that we link in for Windows, given we only have an ANSI option-set. We should really replace getopt with a library that we make all build types of yuzu link in, but this will have to do for the time being. --- src/CMakeLists.txt | 3 +++ src/yuzu_cmd/yuzu.cpp | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6c99dd5e28..9aea4af878 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -18,6 +18,9 @@ if (MSVC) # Avoid windows.h from including some usually unused libs like winsocks.h, since this might cause some redefinition errors. add_definitions(-DWIN32_LEAN_AND_MEAN) + # Ensure that projects build with Unicode support. + add_definitions(-DUNICODE -D_UNICODE) + # /W3 - Level 3 warnings # /MP - Multi-threaded compilation # /Zi - Output debugging information diff --git a/src/yuzu_cmd/yuzu.cpp b/src/yuzu_cmd/yuzu.cpp index 7ea4a1b186..a1d7879b1c 100644 --- a/src/yuzu_cmd/yuzu.cpp +++ b/src/yuzu_cmd/yuzu.cpp @@ -32,11 +32,7 @@ #include "yuzu_cmd/config.h" #include "yuzu_cmd/emu_window/emu_window_sdl2.h" -#include #include "core/file_sys/registered_cache.h" -#ifndef _MSC_VER -#include -#endif #ifdef _WIN32 // windows.h needs to be included before shellapi.h @@ -45,6 +41,12 @@ #include #endif +#undef _UNICODE +#include +#ifndef _MSC_VER +#include +#endif + #ifdef _WIN32 extern "C" { // tells Nvidia and AMD drivers to use the dedicated GPU by default on laptops with switchable