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()
 |