mirror of
https://github.com/micropython/micropython.git
synced 2025-12-16 09:50:15 +01:00
py/mkrules.cmake: Add CMake support for compressed error messages.
Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
@@ -14,6 +14,9 @@ set(MICROPY_MODULEDEFS "${MICROPY_GENHDR_DIR}/moduledefs.h")
|
||||
set(MICROPY_ROOT_POINTERS_SPLIT "${MICROPY_GENHDR_DIR}/root_pointers.split")
|
||||
set(MICROPY_ROOT_POINTERS_COLLECTED "${MICROPY_GENHDR_DIR}/root_pointers.collected")
|
||||
set(MICROPY_ROOT_POINTERS "${MICROPY_GENHDR_DIR}/root_pointers.h")
|
||||
set(MICROPY_COMPRESSED_SPLIT "${MICROPY_GENHDR_DIR}/compressed.split")
|
||||
set(MICROPY_COMPRESSED_COLLECTED "${MICROPY_GENHDR_DIR}/compressed.collected")
|
||||
set(MICROPY_COMPRESSED_DATA "${MICROPY_GENHDR_DIR}/compressed.data.h")
|
||||
|
||||
if(NOT MICROPY_PREVIEW_VERSION_2)
|
||||
set(MICROPY_PREVIEW_VERSION_2 0)
|
||||
@@ -32,6 +35,13 @@ if(MICROPY_BOARD)
|
||||
)
|
||||
endif()
|
||||
|
||||
# Need to do this before extracting MICROPY_CPP_DEF below.
|
||||
if(MICROPY_ROM_TEXT_COMPRESSION)
|
||||
target_compile_definitions(${MICROPY_TARGET} PUBLIC
|
||||
MICROPY_ROM_TEXT_COMPRESSION=\(1\)
|
||||
)
|
||||
endif()
|
||||
|
||||
# Need to do this before extracting MICROPY_CPP_DEF below. Rest of frozen
|
||||
# manifest handling is at the end of this file.
|
||||
if(MICROPY_FROZEN_MANIFEST)
|
||||
@@ -84,6 +94,12 @@ target_sources(${MICROPY_TARGET} PRIVATE
|
||||
${MICROPY_ROOT_POINTERS}
|
||||
)
|
||||
|
||||
if(MICROPY_ROM_TEXT_COMPRESSION)
|
||||
target_sources(${MICROPY_TARGET} PRIVATE
|
||||
${MICROPY_COMPRESSED_DATA}
|
||||
)
|
||||
endif()
|
||||
|
||||
# Command to force the build of another command
|
||||
|
||||
# Generate mpversion.h
|
||||
@@ -197,6 +213,32 @@ add_custom_command(
|
||||
DEPENDS ${MICROPY_ROOT_POINTERS_COLLECTED} ${MICROPY_PY_DIR}/make_root_pointers.py
|
||||
)
|
||||
|
||||
# Generate compressed.data.h
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${MICROPY_COMPRESSED_SPLIT}
|
||||
COMMAND ${Python3_EXECUTABLE} ${MICROPY_PY_DIR}/makeqstrdefs.py split compress ${MICROPY_QSTRDEFS_LAST} ${MICROPY_GENHDR_DIR}/compress _
|
||||
COMMAND touch ${MICROPY_COMPRESSED_SPLIT}
|
||||
DEPENDS ${MICROPY_QSTRDEFS_LAST}
|
||||
VERBATIM
|
||||
COMMAND_EXPAND_LISTS
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${MICROPY_COMPRESSED_COLLECTED}
|
||||
COMMAND ${Python3_EXECUTABLE} ${MICROPY_PY_DIR}/makeqstrdefs.py cat compress _ ${MICROPY_GENHDR_DIR}/compress ${MICROPY_COMPRESSED_COLLECTED}
|
||||
BYPRODUCTS "${MICROPY_COMPRESSED_COLLECTED}.hash"
|
||||
DEPENDS ${MICROPY_COMPRESSED_SPLIT}
|
||||
VERBATIM
|
||||
COMMAND_EXPAND_LISTS
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${MICROPY_COMPRESSED_DATA}
|
||||
COMMAND ${Python3_EXECUTABLE} ${MICROPY_PY_DIR}/makecompresseddata.py ${MICROPY_COMPRESSED_COLLECTED} > ${MICROPY_COMPRESSED_DATA}
|
||||
DEPENDS ${MICROPY_COMPRESSED_COLLECTED} ${MICROPY_PY_DIR}/makecompresseddata.py
|
||||
)
|
||||
|
||||
# Build frozen code if enabled
|
||||
|
||||
if(MICROPY_FROZEN_MANIFEST)
|
||||
|
||||
Reference in New Issue
Block a user