1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- # SPDX-License-Identifier: Apache-2.0
- # These functions can be used to generate a CFB font include file from
- # a TrueType/OpenType font file or an image file.
- function(generate_cfb_font
- input_file # The TrueType/OpenType font file or the image file
- output_file # The generated header file
- width # Width of the CFB font elements in pixels
- height # Height of the CFB font elements in pixels
- )
- add_custom_command(
- OUTPUT ${output_file}
- COMMAND
- ${PYTHON_EXECUTABLE}
- ${ZEPHYR_BASE}/scripts/gen_cfb_font_header.py
- --zephyr-base ${ZEPHYR_BASE}
- --input ${input_file}
- --output ${output_file}
- --bindir ${CMAKE_BINARY_DIR}
- --width ${width}
- --height ${height}
- ${ARGN} # Extra arguments are passed to gen_cfb_font_header.py
- DEPENDS ${source_file}
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- )
- endfunction()
- function(generate_cfb_font_for_gen_target
- target # The cmake target that depends on the generated file
- input_file # The TrueType/OpenType font file or the image file
- output_file # The generated header file
- width # Width of the CFB font elements in pixels
- height # Height of the CFB font elements in pixels
- gen_target # The generated file target we depend on
- # Any additional arguments are passed on to
- # gen_cfb_font_header.py
- )
- generate_cfb_font(${input_file} ${output_file} ${width} ${height} ${ARGN})
- # Ensure 'output_file' is generated before 'target' by creating a
- # dependency between the two targets
- add_dependencies(${target} ${gen_target})
- endfunction()
- function(generate_cfb_font_for_target
- target # The cmake target that depends on the generated file
- input_file # The TrueType/OpenType font file or image file
- output_file # The generated header file
- width # Width of the CFB font elements in pixels
- height # Height of the CFB font elements in pixels
- # Any additional arguments are passed on to
- # gen_cfb_font_header.py
- )
- # Ensure 'output_file' is generated before 'target' by creating a
- # 'custom_target' for it and setting up a dependency between the two
- # targets
- # But first create a unique name for the custom target
- generate_unique_target_name_from_filename(${output_file} generated_target_name)
- add_custom_target(${generated_target_name} DEPENDS ${output_file})
- generate_cfb_font_for_gen_target(${target} ${input_file} ${output_file}
- ${width} ${height} ${generated_target_name} ${ARGN})
- endfunction()
|