mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	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.
This commit is contained in:
		
							parent
							
								
									c81a96b0da
								
							
						
					
					
						commit
						1f2b44d24d
					
				
					 3 changed files with 15 additions and 12 deletions
				
			
		|  | @ -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. |     # 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) |     add_definitions(-DWIN32_LEAN_AND_MEAN) | ||||||
| 
 | 
 | ||||||
|  |     # Ensure that projects build with Unicode support. | ||||||
|  |     add_definitions(-DUNICODE -D_UNICODE) | ||||||
|  | 
 | ||||||
|     # /W3                 - Level 3 warnings |     # /W3                 - Level 3 warnings | ||||||
|     # /MP                 - Multi-threaded compilation |     # /MP                 - Multi-threaded compilation | ||||||
|     # /Zi                 - Output debugging information |     # /Zi                 - Output debugging information | ||||||
|  |  | ||||||
|  | @ -11,11 +11,6 @@ | ||||||
| // This needs to be included before getopt.h because the latter #defines symbols used by it
 | // This needs to be included before getopt.h because the latter #defines symbols used by it
 | ||||||
| #include "common/microprofile.h" | #include "common/microprofile.h" | ||||||
| 
 | 
 | ||||||
| #include <getopt.h> |  | ||||||
| #ifndef _MSC_VER |  | ||||||
| #include <unistd.h> |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef _WIN32 | #ifdef _WIN32 | ||||||
| // windows.h needs to be included before shellapi.h
 | // windows.h needs to be included before shellapi.h
 | ||||||
| #include <windows.h> | #include <windows.h> | ||||||
|  | @ -45,6 +40,12 @@ | ||||||
| #include "core/settings.h" | #include "core/settings.h" | ||||||
| #include "network/network.h" | #include "network/network.h" | ||||||
| 
 | 
 | ||||||
|  | #undef _UNICODE | ||||||
|  | #include <getopt.h> | ||||||
|  | #ifndef _MSC_VER | ||||||
|  | #include <unistd.h> | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| #ifdef _WIN32 | #ifdef _WIN32 | ||||||
| extern "C" { | extern "C" { | ||||||
| // tells Nvidia drivers to use the dedicated GPU by default on laptops with switchable graphics
 | // tells Nvidia drivers to use the dedicated GPU by default on laptops with switchable graphics
 | ||||||
|  |  | ||||||
|  | @ -11,13 +11,6 @@ | ||||||
| #include <thread> | #include <thread> | ||||||
| #include <glad/glad.h> | #include <glad/glad.h> | ||||||
| 
 | 
 | ||||||
| #ifdef _MSC_VER |  | ||||||
| #include <getopt.h> |  | ||||||
| #else |  | ||||||
| #include <getopt.h> |  | ||||||
| #include <unistd.h> |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef _WIN32 | #ifdef _WIN32 | ||||||
| // windows.h needs to be included before shellapi.h
 | // windows.h needs to be included before shellapi.h
 | ||||||
| #include <windows.h> | #include <windows.h> | ||||||
|  | @ -40,6 +33,12 @@ | ||||||
| #include "web_service/verify_user_jwt.h" | #include "web_service/verify_user_jwt.h" | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|  | #undef _UNICODE | ||||||
|  | #include <getopt.h> | ||||||
|  | #ifndef _MSC_VER | ||||||
|  | #include <unistd.h> | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| static void PrintHelp(const char* argv0) { | static void PrintHelp(const char* argv0) { | ||||||
|     std::cout << "Usage: " << argv0 |     std::cout << "Usage: " << argv0 | ||||||
|               << " [options] <filename>\n" |               << " [options] <filename>\n" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue