Merge pull request #709 from pimoroni/refactor/micropython-cmake
MicroPython: Tidy up CMake files for our boards.
This commit is contained in:
commit
94d5b0cd33
|
@ -29,4 +29,12 @@ include(galactic_unicorn/micropython)
|
||||||
|
|
||||||
include(modules_py/modules_py)
|
include(modules_py/modules_py)
|
||||||
|
|
||||||
|
# Most board specific ports wont need all of these
|
||||||
|
copy_module(gfx_pack.py)
|
||||||
|
copy_module(interstate75.py)
|
||||||
|
if(PICO_BOARD STREQUAL "pico_w")
|
||||||
|
copy_module(automation.py)
|
||||||
|
copy_module(inventor.py)
|
||||||
|
endif()
|
||||||
|
|
||||||
include(micropython-common-ulab)
|
include(micropython-common-ulab)
|
|
@ -40,7 +40,6 @@ include(servo/micropython)
|
||||||
include(encoder/micropython)
|
include(encoder/micropython)
|
||||||
include(motor/micropython)
|
include(motor/micropython)
|
||||||
|
|
||||||
# include(micropython-common)
|
|
||||||
|
|
||||||
include(modules_py/modules_py)
|
include(modules_py/modules_py)
|
||||||
|
|
||||||
|
copy_module(inky_frame.py)
|
||||||
|
|
|
@ -4,4 +4,36 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../")
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../../")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../../")
|
||||||
|
|
||||||
include(micropython-common)
|
# Essential
|
||||||
|
include(pimoroni_i2c/micropython)
|
||||||
|
include(pimoroni_bus/micropython)
|
||||||
|
|
||||||
|
# Pico Graphics Essential
|
||||||
|
include(hershey_fonts/micropython)
|
||||||
|
include(bitmap_fonts/micropython)
|
||||||
|
include(picographics/micropython)
|
||||||
|
|
||||||
|
# Pico Graphics Extra
|
||||||
|
include(jpegdec/micropython)
|
||||||
|
include(qrcode/micropython/micropython)
|
||||||
|
|
||||||
|
# Sensors & Breakouts
|
||||||
|
include(micropython-common-breakouts)
|
||||||
|
include(pcf85063a/micropython)
|
||||||
|
|
||||||
|
# Utility
|
||||||
|
include(adcfft/micropython)
|
||||||
|
|
||||||
|
# LEDs & Matrices
|
||||||
|
include(plasma/micropython)
|
||||||
|
|
||||||
|
# Servos & Motors
|
||||||
|
include(pwm/micropython)
|
||||||
|
include(servo/micropython)
|
||||||
|
include(encoder/micropython)
|
||||||
|
include(motor/micropython)
|
||||||
|
|
||||||
|
include(micropython-common-ulab)
|
||||||
|
enable_ulab()
|
||||||
|
|
||||||
|
include(modules_py/modules_py)
|
|
@ -0,0 +1,14 @@
|
||||||
|
include_directories(${CMAKE_CURRENT_LIST_DIR}/../../)
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../")
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../../")
|
||||||
|
|
||||||
|
# Essential
|
||||||
|
include(pimoroni_i2c/micropython)
|
||||||
|
include(pimoroni_bus/micropython)
|
||||||
|
|
||||||
|
# Pico Graphics Essential
|
||||||
|
include(hershey_fonts/micropython)
|
||||||
|
include(bitmap_fonts/micropython)
|
||||||
|
include(picographics/micropython)
|
|
@ -1,42 +1,36 @@
|
||||||
function (copy_module TARGET SRC DST)
|
set(MODULES_DIR ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
|
||||||
|
function (copy_module MODULE)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/../modules/${DST}.py
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/../modules/${MODULE}
|
||||||
|
|
||||||
COMMAND
|
COMMAND
|
||||||
cp ${SRC} ${CMAKE_CURRENT_BINARY_DIR}/../modules/${DST}.py
|
cp ${MODULES_DIR}/${MODULE} ${CMAKE_CURRENT_BINARY_DIR}/../modules/${MODULE}
|
||||||
|
|
||||||
DEPENDS ${src}
|
DEPENDS ${MODULES_DIR}/${MODULE}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(${TARGET} INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/../modules/${DST}.py)
|
target_sources(usermod_modules_py INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/../modules/${MODULE})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function (genversion TARGET DST)
|
function (genversion VERSION_FILE)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/../modules/${DST}.py
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/../modules/${VERSION_FILE}
|
||||||
|
|
||||||
COMMAND
|
COMMAND
|
||||||
bash ${CMAKE_CURRENT_LIST_DIR}/genversion.sh ${CMAKE_CURRENT_BINARY_DIR}/../modules/${DST}.py
|
bash ${MODULES_DIR}/genversion.sh ${CMAKE_CURRENT_BINARY_DIR}/../modules/${VERSION_FILE}
|
||||||
|
|
||||||
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/genversion.sh
|
DEPENDS ${MODULES_DIR}/genversion.sh
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(${TARGET} INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/../modules/${DST}.py)
|
target_sources(usermod_modules_py INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/../modules/${VERSION_FILE})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# Create a dummy usermod to hang our .py copies from
|
# Create a dummy usermod to hang our .py copies from
|
||||||
add_library(usermod_modules_py INTERFACE)
|
add_library(usermod_modules_py INTERFACE)
|
||||||
target_link_libraries(usermod INTERFACE usermod_modules_py)
|
target_link_libraries(usermod INTERFACE usermod_modules_py)
|
||||||
|
|
||||||
genversion(usermod_modules_py version)
|
genversion(version.py)
|
||||||
|
|
||||||
# .py files to copy from modules_py to ports/rp2/modules
|
# .py files to copy from modules_py to ports/rp2/modules
|
||||||
#copy_module(usermod_modules_py ${CMAKE_CURRENT_LIST_DIR}/picosystem.py picosystem)
|
copy_module(pimoroni.py)
|
||||||
copy_module(usermod_modules_py ${CMAKE_CURRENT_LIST_DIR}/pimoroni.py pimoroni)
|
|
||||||
copy_module(usermod_modules_py ${CMAKE_CURRENT_LIST_DIR}/gfx_pack.py gfx_pack)
|
|
||||||
copy_module(usermod_modules_py ${CMAKE_CURRENT_LIST_DIR}/interstate75.py interstate75)
|
|
||||||
if(PICO_BOARD STREQUAL "pico_w")
|
|
||||||
copy_module(usermod_modules_py ${CMAKE_CURRENT_LIST_DIR}/automation.py automation)
|
|
||||||
copy_module(usermod_modules_py ${CMAKE_CURRENT_LIST_DIR}/inventor.py inventor)
|
|
||||||
copy_module(usermod_modules_py ${CMAKE_CURRENT_LIST_DIR}/inky_frame.py inky_frame)
|
|
||||||
endif()
|
|
||||||
|
|
Loading…
Reference in New Issue