33 lines
1.6 KiB
CMake
33 lines
1.6 KiB
CMake
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/build_python.cmake)
|
|
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 requires Pillow with Raqm and fontTools. Install libfribidi0 and configure the Modulus assets Python group.")
|
|
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 ${VAMP_PYTHON_COMMAND} -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
|
|
${VAMP_SHARED_PYTHON_INPUTS}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/generator/palette.json
|
|
${CMAKE_CURRENT_SOURCE_DIR}/generator/theme.py
|
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/build_python.cmake
|
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/theme.cmake
|
|
${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()
|