@@ -1,21 +0,0 @@
|
||||
find_package(Python3 COMPONENTS Interpreter REQUIRED)
|
||||
execute_process(
|
||||
COMMAND ${Python3_EXECUTABLE} -c "from PIL import features; assert features.check_feature('raqm')"
|
||||
RESULT_VARIABLE VAMP_PILLOW_STATUS
|
||||
ERROR_QUIET
|
||||
)
|
||||
if(NOT VAMP_PILLOW_STATUS EQUAL 0)
|
||||
message(FATAL_ERROR "Font generation requires Pillow with Raqm support. Install libfribidi0 on Debian/Ubuntu, then run: ${Python3_EXECUTABLE} -m pip install -r ${CMAKE_CURRENT_SOURCE_DIR}/generator/requirements.txt")
|
||||
endif()
|
||||
|
||||
set(VAMP_FONT_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/generated/vamp_style/font.cpp)
|
||||
add_custom_command(
|
||||
OUTPUT ${VAMP_FONT_SOURCE}
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generator/generate_pico_font.py
|
||||
--output ${VAMP_FONT_SOURCE}
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/generator/generate_pico_font.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/generator/requirements.txt
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/package/assets/fonts/petaluma/PetalumaScript.otf
|
||||
VERBATIM
|
||||
)
|
||||
+2
-2
@@ -36,7 +36,7 @@ set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
pico_sdk_init()
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/font.cmake)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/pico_artwork.cmake)
|
||||
|
||||
set(VAMP_MODULUS_INCLUDE_DIR "" CACHE PATH "Path to the Modulus public include directory")
|
||||
set(VAMP_RESOLVED_MODULUS_INCLUDE_DIR "${VAMP_MODULUS_INCLUDE_DIR}")
|
||||
@@ -76,7 +76,6 @@ endif()
|
||||
|
||||
add_executable(product-vamp-pico2w
|
||||
src/vamp_style.cpp
|
||||
${VAMP_FONT_SOURCE}
|
||||
src/vamp_pico/display.cpp
|
||||
src/vamp_pico/http_client.cpp
|
||||
src/vamp_pico/input.cpp
|
||||
@@ -86,6 +85,7 @@ add_executable(product-vamp-pico2w
|
||||
src/vamp_protocol/page_control.cpp
|
||||
src/vamp_protocol/gesture.cpp
|
||||
)
|
||||
vamp_add_pico_artwork(product-vamp-pico2w)
|
||||
target_include_directories(product-vamp-pico2w PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||
${VAMP_RESOLVED_MODULUS_INCLUDE_DIR}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
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()
|
||||
+4
-5
@@ -8,6 +8,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
find_package(modulus CONFIG REQUIRED COMPONENTS boost_json openssl raylib)
|
||||
find_package(Threads REQUIRED)
|
||||
find_package(Python3 COMPONENTS Interpreter REQUIRED)
|
||||
find_package(ligo CONFIG REQUIRED)
|
||||
find_package(noto CONFIG REQUIRED)
|
||||
find_package(luma CONFIG REQUIRED)
|
||||
@@ -34,7 +35,6 @@ cmake_pop_check_state()
|
||||
if(NOT VAMP_DEPENDENCY_APIS_AVAILABLE)
|
||||
message(FATAL_ERROR "Product Vamp requires current Sonus sequence and Luma uncached-texture APIs. Run ./modulus.py configure --update after publishing the updated dependencies, or create their Conan packages locally before configuring --no-remote. See CMake's configure log for the compiler diagnostic.")
|
||||
endif()
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/font.cmake)
|
||||
|
||||
execute_process(
|
||||
COMMAND git rev-parse --short=12 HEAD
|
||||
@@ -49,7 +49,6 @@ endif()
|
||||
|
||||
set(VAMP_STYLE_SOURCES
|
||||
src/vamp_style.cpp
|
||||
${VAMP_FONT_SOURCE}
|
||||
)
|
||||
|
||||
add_library(vamp-style STATIC ${VAMP_STYLE_SOURCES})
|
||||
@@ -140,7 +139,6 @@ file(GLOB_RECURSE VAMP_GENERATOR_INPUTS CONFIGURE_DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/package/assets/fonts/*
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/package/assets/fonts/**/*
|
||||
)
|
||||
list(FILTER VAMP_GENERATOR_INPUTS EXCLUDE REGEX "/data/rhythms/")
|
||||
set(VAMP_GENERATED_ASSETS_DIR ${CMAKE_CURRENT_BINARY_DIR}/generated-assets)
|
||||
set(VAMP_GENERATED_ASSETS_STAMP ${CMAKE_CURRENT_BINARY_DIR}/generated-assets.stamp)
|
||||
set(VAMP_ENGRAVING_JOBS 2 CACHE STRING "Maximum parallel Python engraving workers (1-16)")
|
||||
@@ -237,8 +235,8 @@ if(VAMP_BUILD_PICO_FIRMWARE)
|
||||
file(GLOB VAMP_PICO_SOURCES CONFIGURE_DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/pico.cmake
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/font.cmake
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/generator/generate_pico_font.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/pico_artwork.cmake
|
||||
${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
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/vamp_options.cmake
|
||||
@@ -250,6 +248,7 @@ if(VAMP_BUILD_PICO_FIRMWARE)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include/vamp_protocol/*.hpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/vamp_style.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/vamp_pico/*.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/vamp_pico/*.S.in
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/vamp_protocol/*.cpp
|
||||
)
|
||||
add_custom_command(
|
||||
|
||||
Reference in New Issue
Block a user