Merge branch 'bugfix/cmake_bugfixes_v4.1' into 'release/v4.1'
CMake-related bugfixes (v4.1) See merge request espressif/esp-idf!8067
This commit is contained in:
@@ -194,6 +194,11 @@ esptool_py_custom_target(app-flash app "app")
|
||||
if(CONFIG_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT)
|
||||
esptool_py_custom_target(encrypted-flash encrypted_project "app;partition_table;bootloader")
|
||||
esptool_py_custom_target(encrypted-app-flash encrypted_app "app")
|
||||
else()
|
||||
fail_target(encrypted-flash "Error: The target encrypted-flash requires"
|
||||
"CONFIG_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT to be enabled.")
|
||||
fail_target(encrypted-app-flash "Error: The target encrypted-app-flash requires"
|
||||
"CONFIG_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT to be enabled.")
|
||||
endif()
|
||||
|
||||
# esptool_py_flash_project_args
|
||||
|
||||
@@ -33,15 +33,24 @@ endif()
|
||||
idf_build_get_property(build_dir BUILD_DIR)
|
||||
idf_build_get_property(python PYTHON)
|
||||
|
||||
set(gen_partition_table "${python}" "${CMAKE_CURRENT_SOURCE_DIR}/gen_esp32part.py" "-q"
|
||||
"--offset" "${PARTITION_TABLE_OFFSET}" "${md5_opt}" "${flashsize_opt}"
|
||||
"${partition_secure_opt}" )
|
||||
|
||||
add_custom_command(OUTPUT "${build_dir}/partition_table/${unsigned_partition_bin}"
|
||||
COMMAND "${python}" "${CMAKE_CURRENT_SOURCE_DIR}/gen_esp32part.py"
|
||||
-q --offset ${PARTITION_TABLE_OFFSET} ${md5_opt} ${flashsize_opt}
|
||||
${partition_secure_opt} ${partition_csv} ${build_dir}/partition_table/${unsigned_partition_bin}
|
||||
COMMAND ${gen_partition_table} "${partition_csv}" "${build_dir}/partition_table/${unsigned_partition_bin}"
|
||||
DEPENDS ${partition_csv} "${CMAKE_CURRENT_SOURCE_DIR}/gen_esp32part.py"
|
||||
VERBATIM)
|
||||
|
||||
if(EXISTS ${partition_csv})
|
||||
add_custom_target(partition_table ALL DEPENDS "${build_dir}/partition_table/${final_partition_bin}")
|
||||
add_custom_target(partition_table ALL
|
||||
DEPENDS "${build_dir}/partition_table/${unsigned_partition_bin}"
|
||||
"${build_dir}/partition_table/${final_partition_bin}"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "Partition table binary generated. Contents:"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "*******************************************************************************"
|
||||
COMMAND ${gen_partition_table} "${build_dir}/partition_table/${unsigned_partition_bin}"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "*******************************************************************************"
|
||||
VERBATIM)
|
||||
else()
|
||||
# If the partition input CSV is not found, create a phony partition_table target that
|
||||
# fails the build. fail_at_build_time also touches CMakeCache.txt to cause a cmake run next time
|
||||
@@ -68,7 +77,7 @@ if(CONFIG_SECURE_SIGNED_APPS_ECDSA_SCHEME)
|
||||
add_custom_command(TARGET partition_table POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E echo
|
||||
"Partition table built but not signed. Sign partition data before flashing:"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo
|
||||
COMMAND ${CMAKE_COMMAND} -E echo
|
||||
"\t${espsecurepy} sign_data --keyfile KEYFILE ${build_dir}/partition_table/${final_partition_bin}"
|
||||
VERBATIM)
|
||||
endif()
|
||||
|
||||
@@ -15,4 +15,4 @@ foreach(ulp_exp_dep_src ${ULP_EXP_DEP_SRCS})
|
||||
list(APPEND ulp_dep_srcs ${ulp_dep_src})
|
||||
endforeach()
|
||||
|
||||
ulp_embed_binary(${ULP_APP_NAME} ${ulp_srcs} ${ulp_dep_srcs})
|
||||
ulp_embed_binary(${ULP_APP_NAME} "${ulp_srcs}" "${ulp_dep_srcs}")
|
||||
|
||||
@@ -47,10 +47,9 @@ function(ulp_embed_binary app_name s_sources exp_dep_srcs)
|
||||
INSTALL_COMMAND ""
|
||||
CMAKE_ARGS -DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
||||
-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FLAG}
|
||||
-DULP_S_SOURCES=${sources} -DULP_APP_NAME=${app_name}
|
||||
-DULP_S_SOURCES=$<TARGET_PROPERTY:${app_name},ULP_SOURCES>
|
||||
-DULP_APP_NAME=${app_name}
|
||||
-DCOMPONENT_DIR=${COMPONENT_DIR}
|
||||
# Even though this resolves to a ';' separated list, this is fine. This must be special behavior
|
||||
# for generator expressions.
|
||||
-DCOMPONENT_INCLUDES=$<TARGET_PROPERTY:${COMPONENT_TARGET},INTERFACE_INCLUDE_DIRECTORIES>
|
||||
-DIDF_PATH=${idf_path}
|
||||
-DSDKCONFIG=${SDKCONFIG_HEADER}
|
||||
@@ -60,9 +59,10 @@ function(ulp_embed_binary app_name s_sources exp_dep_srcs)
|
||||
BUILD_BYPRODUCTS ${ulp_artifacts} ${ulp_artifacts_extras} ${ulp_ps_sources}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${app_name}/${app_name}
|
||||
BUILD_ALWAYS 1
|
||||
LIST_SEPARATOR |
|
||||
)
|
||||
|
||||
set_property(TARGET ${app_name} PROPERTY ULP_SOURCES "${sources}")
|
||||
|
||||
spaces2list(exp_dep_srcs)
|
||||
set_source_files_properties(${exp_dep_srcs} PROPERTIES OBJECT_DEPENDS ${ulp_artifacts})
|
||||
|
||||
|
||||
@@ -6,5 +6,5 @@ if(IDF_TARGET STREQUAL "esp32")
|
||||
set(ulp_app_name ulp_test_app)
|
||||
set(ulp_s_sources "ulp/test_jumps_esp32.S")
|
||||
set(ulp_exp_dep_srcs "esp32/test_ulp_as.c")
|
||||
ulp_embed_binary(${ulp_app_name} ${ulp_s_sources} ${ulp_exp_dep_srcs})
|
||||
ulp_embed_binary(${ulp_app_name} "${ulp_s_sources}" "${ulp_exp_dep_srcs}")
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user