generate_emoji.cmake 874 B

1234567891011121314151617181920212223242526272829303132
  1. function(generate_emoji target_name emoji_map suggestions_json)
  2. set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
  3. file(MAKE_DIRECTORY ${gen_dst})
  4. set(gen_timestamp ${gen_dst}/emoji.timestamp)
  5. set(gen_files
  6. ${gen_dst}/emoji.cpp
  7. ${gen_dst}/emoji.h
  8. ${gen_dst}/emoji_suggestions_data.cpp
  9. ${gen_dst}/emoji_suggestions_data.h
  10. )
  11. set(gen_src
  12. ${CMAKE_CURRENT_SOURCE_DIR}/${emoji_map}
  13. ${CMAKE_CURRENT_SOURCE_DIR}/${suggestions_json}
  14. )
  15. add_custom_command(
  16. OUTPUT
  17. ${gen_timestamp}
  18. BYPRODUCTS
  19. ${gen_files}
  20. COMMAND
  21. codegen_emoji
  22. -o${gen_dst}
  23. ${gen_src}
  24. COMMENT "Generating emoji (${target_name})"
  25. DEPENDS
  26. codegen_emoji
  27. ${gen_src}
  28. )
  29. generate_target(${target_name} emoji ${gen_timestamp} "${gen_files}" ${gen_dst})
  30. endfunction()