generate_palette.cmake 879 B

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