mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-08-06 15:15:15 +08:00
Merge branch 'feature/add_cmake_make_flash' into 'master'
cmake: add cmake file required to run "make flash" See merge request sdk/ESP8266_RTOS_SDK!1064
This commit is contained in:
46
components/esptool_py/run_esptool.cmake
Normal file
46
components/esptool_py/run_esptool.cmake
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# A CMake script to run esptool commands from within ninja or make
|
||||||
|
# or another cmake-based build runner
|
||||||
|
#
|
||||||
|
# (Needed to expand environment variables, for backwards compatibility.)
|
||||||
|
#
|
||||||
|
# It is recommended to NOT USE this CMake script if you have the option of
|
||||||
|
# running esptool.py directly. This script exists only for use inside CMake builds.
|
||||||
|
#
|
||||||
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
|
if(NOT IDF_PATH OR NOT ESPTOOLPY OR NOT ESPTOOL_ARGS OR NOT ESPTOOL_WORKING_DIR)
|
||||||
|
message(FATAL_ERROR "IDF_PATH, ESPTOOLPY, ESPTOOL_ARGS, and ESPTOOL_WORKING_DIR must "
|
||||||
|
"be specified on the CMake command line. For direct esptool execution, it is "
|
||||||
|
"strongly recommended to run esptool.py directly.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Note: we can't expand these environment variables in the main IDF CMake build,
|
||||||
|
# because we want to expand them at flashing time not at CMake runtime (so they can change
|
||||||
|
# without needing a CMake re-run)
|
||||||
|
set(ESPPORT $ENV{ESPPORT})
|
||||||
|
if(NOT ESPPORT)
|
||||||
|
message("Note: esptool.py will search for a serial port. To specify a port, set the ESPPORT environment variable.")
|
||||||
|
else()
|
||||||
|
set(port_arg "-p ${ESPPORT}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(ESPBAUD $ENV{ESPBAUD})
|
||||||
|
if(NOT ESPBAUD)
|
||||||
|
message("Note: Using default baud rate 460800. To modify, set ESPBAUD environment variable.")
|
||||||
|
set(ESPBAUD 460800)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include("${IDF_PATH}/tools/cmake/utilities.cmake")
|
||||||
|
|
||||||
|
set(cmd "${ESPTOOLPY} ${port_arg} -b ${ESPBAUD} ${ESPTOOL_ARGS}")
|
||||||
|
spaces2list(cmd)
|
||||||
|
|
||||||
|
execute_process(COMMAND ${cmd}
|
||||||
|
WORKING_DIRECTORY "${ESPTOOL_WORKING_DIR}"
|
||||||
|
RESULT_VARIABLE result
|
||||||
|
)
|
||||||
|
|
||||||
|
if(${result})
|
||||||
|
# No way to have CMake silently fail, unfortunately
|
||||||
|
message(FATAL_ERROR "esptool.py failed")
|
||||||
|
endif()
|
Reference in New Issue
Block a user