py/mkrules.cmake: Force build mpversion.h and frozen_content.c.
This ensures that all builds unconditionally run makeversionhdr.py and makemanifest.py to generate mpversion.h and frozen_content.c respectively. This now matches the Makefile behavior, and in particular this fixes the issue on ESP32 builds that changes in code-to-be-frozen will cause the build to update. Both these already tools know not to touch their output if there is no change. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This commit is contained in:
parent
35524a6fda
commit
9848b0685f
@ -54,19 +54,13 @@ target_sources(${MICROPY_TARGET} PRIVATE
|
|||||||
|
|
||||||
# Command to force the build of another command
|
# Command to force the build of another command
|
||||||
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT MICROPY_FORCE_BUILD
|
|
||||||
COMMENT ""
|
|
||||||
COMMAND echo -n
|
|
||||||
)
|
|
||||||
|
|
||||||
# Generate mpversion.h
|
# Generate mpversion.h
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_target(
|
||||||
OUTPUT ${MICROPY_MPVERSION}
|
BUILD_VERSION_HEADER ALL
|
||||||
|
BYPRODUCTS ${MICROPY_MPVERSION}
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${MICROPY_GENHDR_DIR}
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${MICROPY_GENHDR_DIR}
|
||||||
COMMAND ${Python3_EXECUTABLE} ${MICROPY_DIR}/py/makeversionhdr.py ${MICROPY_MPVERSION}
|
COMMAND ${Python3_EXECUTABLE} ${MICROPY_DIR}/py/makeversionhdr.py ${MICROPY_MPVERSION}
|
||||||
DEPENDS MICROPY_FORCE_BUILD
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Generate qstrs
|
# Generate qstrs
|
||||||
@ -203,10 +197,11 @@ if(MICROPY_FROZEN_MANIFEST)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_target(
|
||||||
OUTPUT ${MICROPY_FROZEN_CONTENT}
|
BUILD_FROZEN_CONTENT ALL
|
||||||
|
BYPRODUCTS ${MICROPY_FROZEN_CONTENT}
|
||||||
COMMAND ${Python3_EXECUTABLE} ${MICROPY_DIR}/tools/makemanifest.py -o ${MICROPY_FROZEN_CONTENT} -v "MPY_DIR=${MICROPY_DIR}" -v "MPY_LIB_DIR=${MICROPY_LIB_DIR}" -v "PORT_DIR=${MICROPY_PORT_DIR}" -v "BOARD_DIR=${MICROPY_BOARD_DIR}" -b "${CMAKE_BINARY_DIR}" -f${MICROPY_CROSS_FLAGS} --mpy-tool-flags=${MICROPY_MPY_TOOL_FLAGS} ${MICROPY_FROZEN_MANIFEST}
|
COMMAND ${Python3_EXECUTABLE} ${MICROPY_DIR}/tools/makemanifest.py -o ${MICROPY_FROZEN_CONTENT} -v "MPY_DIR=${MICROPY_DIR}" -v "MPY_LIB_DIR=${MICROPY_LIB_DIR}" -v "PORT_DIR=${MICROPY_PORT_DIR}" -v "BOARD_DIR=${MICROPY_BOARD_DIR}" -b "${CMAKE_BINARY_DIR}" -f${MICROPY_CROSS_FLAGS} --mpy-tool-flags=${MICROPY_MPY_TOOL_FLAGS} ${MICROPY_FROZEN_MANIFEST}
|
||||||
DEPENDS MICROPY_FORCE_BUILD
|
DEPENDS
|
||||||
${MICROPY_QSTRDEFS_GENERATED}
|
${MICROPY_QSTRDEFS_GENERATED}
|
||||||
${MICROPY_ROOT_POINTERS}
|
${MICROPY_ROOT_POINTERS}
|
||||||
${MICROPY_MPYCROSS_DEPENDENCY}
|
${MICROPY_MPYCROSS_DEPENDENCY}
|
||||||
|
Loading…
Reference in New Issue
Block a user