32 lines
		
	
	
	
		
			874 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			874 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
function(generate_emoji target_name emoji_map suggestions_json)
 | 
						|
    set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
 | 
						|
    file(MAKE_DIRECTORY ${gen_dst})
 | 
						|
 | 
						|
    set(gen_timestamp ${gen_dst}/emoji.timestamp)
 | 
						|
    set(gen_files
 | 
						|
        ${gen_dst}/emoji.cpp
 | 
						|
        ${gen_dst}/emoji.h
 | 
						|
        ${gen_dst}/emoji_suggestions_data.cpp
 | 
						|
        ${gen_dst}/emoji_suggestions_data.h
 | 
						|
    )
 | 
						|
 | 
						|
    set(gen_src
 | 
						|
        ${CMAKE_CURRENT_SOURCE_DIR}/${emoji_map}
 | 
						|
        ${CMAKE_CURRENT_SOURCE_DIR}/${suggestions_json}
 | 
						|
    )
 | 
						|
    add_custom_command(
 | 
						|
    OUTPUT
 | 
						|
        ${gen_timestamp}
 | 
						|
    BYPRODUCTS
 | 
						|
        ${gen_files}
 | 
						|
    COMMAND
 | 
						|
        codegen_emoji
 | 
						|
        -o${gen_dst}
 | 
						|
        ${gen_src}
 | 
						|
    COMMENT "Generating emoji (${target_name})"
 | 
						|
    DEPENDS
 | 
						|
        codegen_emoji
 | 
						|
        ${gen_src}
 | 
						|
    )
 | 
						|
    generate_target(${target_name} emoji ${gen_timestamp} "${gen_files}" ${gen_dst})
 | 
						|
endfunction()
 |