38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| # This file is part of Telegram Desktop,
 | |
| # the official desktop application for the Telegram messaging service.
 | |
| #
 | |
| # For license and copyright information please follow this link:
 | |
| # https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
 | |
| 
 | |
| function(generate_scheme target_name script scheme_files)
 | |
|     find_package(Python REQUIRED)
 | |
| 
 | |
|     set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
 | |
|     file(MAKE_DIRECTORY ${gen_dst})
 | |
| 
 | |
|     set(gen_timestamp ${gen_dst}/scheme.timestamp)
 | |
|     set(gen_files
 | |
|         ${gen_dst}/scheme.cpp
 | |
|         ${gen_dst}/scheme.h
 | |
|         ${gen_dst}/scheme-dump_to_text.cpp
 | |
|         ${gen_dst}/scheme-dump_to_text.h
 | |
|     )
 | |
| 
 | |
|     add_custom_command(
 | |
|     OUTPUT
 | |
|         ${gen_timestamp}
 | |
|     BYPRODUCTS
 | |
|         ${gen_files}
 | |
|     COMMAND
 | |
|         ${Python_EXECUTABLE}
 | |
|         ${script}
 | |
|         -o${gen_dst}/scheme
 | |
|         ${scheme_files}
 | |
|     COMMENT "Generating scheme (${target_name})"
 | |
|     DEPENDS
 | |
|         ${script}
 | |
|         ${submodules_loc}/lib_tl/tl/generate_tl.py
 | |
|         ${scheme_files}
 | |
|     )
 | |
|     generate_target(${target_name} scheme ${gen_timestamp} "${gen_files}" ${gen_dst})
 | |
| endfunction()
 | 
