29 lines
1.5 KiB
CMake
29 lines
1.5 KiB
CMake
find_package(Python3 COMPONENTS Interpreter REQUIRED)
|
|
execute_process(
|
|
COMMAND ${Python3_EXECUTABLE} -c "import PIL.features; import fontTools.ttLib; assert PIL.features.check_feature('raqm')"
|
|
RESULT_VARIABLE VAMP_PILLOW_STATUS
|
|
ERROR_QUIET
|
|
)
|
|
if(NOT VAMP_PILLOW_STATUS EQUAL 0)
|
|
message(FATAL_ERROR "Pico artwork generation requires Pillow with Raqm and fontTools. Install libfribidi0 on Debian/Ubuntu, then run: ${Python3_EXECUTABLE} -m pip install -r ${CMAKE_CURRENT_SOURCE_DIR}/generator/requirements.txt")
|
|
endif()
|
|
|
|
# Zero uses packaged font files; only the Pico embeds this fixed sprite atlas.
|
|
function(vamp_add_pico_artwork target)
|
|
set(VAMP_PICO_ARTWORK_BINARY ${CMAKE_CURRENT_BINARY_DIR}/generated/pico/static.p4)
|
|
set(VAMP_PICO_ARTWORK_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/generated/pico/artwork.S)
|
|
add_custom_command(
|
|
OUTPUT ${VAMP_PICO_ARTWORK_BINARY}
|
|
COMMAND ${Python3_EXECUTABLE} -m generator.pico_artwork --static-output ${VAMP_PICO_ARTWORK_BINARY}
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/generator/pico_artwork.py
|
|
${CMAKE_CURRENT_SOURCE_DIR}/generator/requirements.txt
|
|
${CMAKE_CURRENT_SOURCE_DIR}/package/assets/fonts/petaluma/PetalumaScript.otf
|
|
VERBATIM
|
|
)
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/vamp_pico/artwork.S.in ${VAMP_PICO_ARTWORK_SOURCE} @ONLY)
|
|
set_source_files_properties(${VAMP_PICO_ARTWORK_SOURCE} PROPERTIES OBJECT_DEPENDS ${VAMP_PICO_ARTWORK_BINARY})
|
|
target_sources(${target} PRIVATE ${VAMP_PICO_ARTWORK_SOURCE})
|
|
endfunction()
|