mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	Fix build on platforms without std::string_view
json.hpp wants it, but it isn't always available. Rather than patch json.hpp directly to remove the dependency, provide a json.h wrapper header that subs in std::experimental::string_view using preprocessor magic. All the consumers of json.hpp are in src/web_service, so the wrapper header is placed there as well.
This commit is contained in:
		
							parent
							
								
									fd79b70a87
								
							
						
					
					
						commit
						93fd55249b
					
				
					 4 changed files with 21 additions and 3 deletions
				
			
		|  | @ -3,9 +3,9 @@ | |||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include <future> | ||||
| #include <json.hpp> | ||||
| #include "common/logging/log.h" | ||||
| #include "web_service/announce_room_json.h" | ||||
| #include "web_service/json.h" | ||||
| #include "web_service/web_backend.h" | ||||
| 
 | ||||
| namespace AnnounceMultiplayerRoom { | ||||
|  |  | |||
							
								
								
									
										18
									
								
								src/web_service/json.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/web_service/json.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| // Copyright 2018 Citra Emulator Project
 | ||||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| // This hack is needed to support json.hpp on platforms where the C++17 stdlib
 | ||||
| // lacks std::string_view. See https://github.com/nlohmann/json/issues/735.
 | ||||
| // clang-format off
 | ||||
| #if !__has_include(<string_view>) && __has_include(<experimental/string_view>) | ||||
| # include <experimental/string_view> | ||||
| # define string_view experimental::string_view | ||||
| # include <json.hpp> | ||||
| # undef string_view | ||||
| #else | ||||
| # include <json.hpp> | ||||
| #endif | ||||
| // clang-format on
 | ||||
|  | @ -7,9 +7,9 @@ | |||
| #include <array> | ||||
| #include <future> | ||||
| #include <string> | ||||
| #include <json.hpp> | ||||
| #include "common/announce_multiplayer_room.h" | ||||
| #include "common/telemetry.h" | ||||
| #include "web_service/json.h" | ||||
| 
 | ||||
| namespace WebService { | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include <json.hpp> | ||||
| #include "web_service/json.h" | ||||
| #include "web_service/verify_login.h" | ||||
| #include "web_service/web_backend.h" | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue