diff options
Diffstat (limited to 'extmod')
| -rw-r--r-- | extmod/extmod.cmake | 89 |
1 files changed, 42 insertions, 47 deletions
diff --git a/extmod/extmod.cmake b/extmod/extmod.cmake index 3643f1aee..7cacd0a43 100644 --- a/extmod/extmod.cmake +++ b/extmod/extmod.cmake @@ -107,62 +107,57 @@ set(MICROPY_SOURCE_LIB_LIBM_SQRT_HW ${MICROPY_DIR}/lib/libm/thumb_vfp_sqrtf.c) if(MICROPY_PY_BTREE) set(MICROPY_LIB_BERKELEY_DIR "${MICROPY_DIR}/lib/berkeley-db-1.xx") - string(CONCAT GIT_SUBMODULES "${GIT_SUBMODULES} " lib/berkeley-db-1.xx) + list(APPEND GIT_SUBMODULES lib/berkeley-db-1.xx) - if(ECHO_SUBMODULES) - # No-op, we're just doing submodule/variant discovery. - # Cannot run the add_library/target_include_directories rules (even though - # the build won't run) because IDF will attempt verify the files exist. - elseif(NOT EXISTS ${MICROPY_LIB_BERKELEY_DIR}/README) + if(NOT UPDATE_SUBMODULES AND NOT EXISTS ${MICROPY_LIB_BERKELEY_DIR}/README) # Regular build, submodule not initialised -- fail with a clear error. message(FATAL_ERROR " MICROPY_PY_BTREE is enabled but the berkeley-db submodule is not initialised.\n Run 'make BOARD=${MICROPY_BOARD} submodules'") - else() - # Regular build, we have the submodule. - add_library(micropy_extmod_btree OBJECT - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_close.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_conv.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_debug.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_delete.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_get.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_open.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_overflow.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_page.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_put.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_search.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_seq.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_split.c - ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_utils.c - ${MICROPY_LIB_BERKELEY_DIR}/mpool/mpool.c - ) + endif() - target_include_directories(micropy_extmod_btree PRIVATE - ${MICROPY_LIB_BERKELEY_DIR}/include - ) + add_library(micropy_extmod_btree OBJECT + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_close.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_conv.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_debug.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_delete.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_get.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_open.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_overflow.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_page.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_put.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_search.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_seq.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_split.c + ${MICROPY_LIB_BERKELEY_DIR}/btree/bt_utils.c + ${MICROPY_LIB_BERKELEY_DIR}/mpool/mpool.c + ) - if(NOT BERKELEY_DB_CONFIG_FILE) - set(BERKELEY_DB_CONFIG_FILE "${MICROPY_DIR}/extmod/berkeley-db/berkeley_db_config_port.h") - endif() + target_include_directories(micropy_extmod_btree PRIVATE + ${MICROPY_LIB_BERKELEY_DIR}/include + ) - target_compile_definitions(micropy_extmod_btree PRIVATE - BERKELEY_DB_CONFIG_FILE="${BERKELEY_DB_CONFIG_FILE}" - ) + if(NOT BERKELEY_DB_CONFIG_FILE) + set(BERKELEY_DB_CONFIG_FILE "${MICROPY_DIR}/extmod/berkeley-db/berkeley_db_config_port.h") + endif() - # The include directories and compile definitions below are needed to build - # modbtree.c and should be added to the main MicroPython target. + target_compile_definitions(micropy_extmod_btree PRIVATE + BERKELEY_DB_CONFIG_FILE="${BERKELEY_DB_CONFIG_FILE}" + ) - list(APPEND MICROPY_INC_CORE - "${MICROPY_LIB_BERKELEY_DIR}/include" - ) + # The include directories and compile definitions below are needed to build + # modbtree.c and should be added to the main MicroPython target. - list(APPEND MICROPY_DEF_CORE - MICROPY_PY_BTREE=1 - BERKELEY_DB_CONFIG_FILE="${BERKELEY_DB_CONFIG_FILE}" - ) + list(APPEND MICROPY_INC_CORE + "${MICROPY_LIB_BERKELEY_DIR}/include" + ) - list(APPEND MICROPY_SOURCE_EXTMOD - ${MICROPY_EXTMOD_DIR}/modbtree.c - ) - endif() + list(APPEND MICROPY_DEF_CORE + MICROPY_PY_BTREE=1 + BERKELEY_DB_CONFIG_FILE="${BERKELEY_DB_CONFIG_FILE}" + ) + + list(APPEND MICROPY_SOURCE_EXTMOD + ${MICROPY_EXTMOD_DIR}/modbtree.c + ) endif() # Library for mbedtls @@ -350,5 +345,5 @@ if(MICROPY_PY_LWIP) ${MICROPY_LIB_LWIP_DIR}/include ) - string(CONCAT GIT_SUBMODULES "${GIT_SUBMODULES} " lib/lwip) + list(APPEND GIT_SUBMODULES lib/lwip) endif() |
