mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	
		
			
	
	
		
			45 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | """Functions used to generate source files during build time""" | ||
|  | 
 | ||
|  | from pathlib import Path | ||
|  | 
 | ||
|  | import methods | ||
|  | 
 | ||
|  | 
 | ||
|  | def export_icon_builder(target, source, env): | ||
|  |     src_path = Path(str(source[0])) | ||
|  |     src_name = src_path.stem | ||
|  |     platform = src_path.parent.parent.stem | ||
|  | 
 | ||
|  |     with open(str(source[0]), "r") as file: | ||
|  |         svg = file.read() | ||
|  | 
 | ||
|  |     with methods.generated_wrapper(str(target[0])) as file: | ||
|  |         file.write( | ||
|  |             f"""\
 | ||
|  | inline constexpr const char *_{platform}_{src_name}_svg = {methods.to_raw_cstring(svg)}; | ||
|  | """
 | ||
|  |         ) | ||
|  | 
 | ||
|  | 
 | ||
|  | def register_platform_apis_builder(target, source, env): | ||
|  |     platforms = source[0].read() | ||
|  |     api_inc = "\n".join([f'#include "{p}/api/api.h"' for p in platforms]) | ||
|  |     api_reg = "\n\t".join([f"register_{p}_api();" for p in platforms]) | ||
|  |     api_unreg = "\n\t".join([f"unregister_{p}_api();" for p in platforms]) | ||
|  |     with methods.generated_wrapper(str(target[0])) as file: | ||
|  |         file.write( | ||
|  |             f"""\
 | ||
|  | #include "register_platform_apis.h" | ||
|  | 
 | ||
|  | {api_inc} | ||
|  | 
 | ||
|  | void register_platform_apis() {{ | ||
|  | 	{api_reg} | ||
|  | }} | ||
|  | 
 | ||
|  | void unregister_platform_apis() {{ | ||
|  | 	{api_unreg} | ||
|  | }} | ||
|  | """
 | ||
|  |         ) |