From cb7fd304ff64f19df56fa403a5199f072ddcebc7 Mon Sep 17 00:00:00 2001 From: tangzz98 <54998890+tangzz98@users.noreply.github.com> Date: Wed, 14 Sep 2022 03:49:05 -0400 Subject: ESP32_C3 migrate to ESP-IDF package (#6427) --- tools/esp_idf.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tools/esp_idf.py (limited to 'tools/esp_idf.py') diff --git a/tools/esp_idf.py b/tools/esp_idf.py new file mode 100644 index 0000000000..2977b3a507 --- /dev/null +++ b/tools/esp_idf.py @@ -0,0 +1,48 @@ +import os +import re +import utils +from utils import _make_path_relative + +def GenerateCFiles(env,project): + """ + Generate CMakeLists.txt files + """ + info = utils.ProjectInfo(env) + init_export = [] + + main_component_dir = os.path.join(os.getcwd(), 'main') + cm_file = open(os.path.join(main_component_dir, 'CMakeLists.txt'), 'w') + if cm_file: + cm_file.write("idf_component_register(\n") + + cm_file.write("\tSRCS\n") + for group in project: + for f in group['src']: + path = _make_path_relative(main_component_dir, os.path.normpath(f.rfile().abspath)) + cm_file.write( "\t" + path.replace("\\", "/") + "\n" ) + src = open(f.rfile().abspath, 'r') + for line in src.readlines(): + if re.match('INIT_(BOARD|PREV|DEVICE|COMPONENT|ENV|APP)_EXPORT\(.+\)', line): + init_export.append(re.search('\(.+\)', line).group(0)[1:-1]) + src.close() + + cm_file.write("\n") + + cm_file.write("\tINCLUDE_DIRS\n") + for i in info['CPPPATH']: + path = _make_path_relative(main_component_dir, i) + cm_file.write( "\t" + path.replace("\\", "/") + "\n") + cm_file.write(")\n\n") + + print(init_export) + n = len(init_export) + if n: + cm_file.write("target_link_libraries(${COMPONENT_LIB}\n") + for i in range(n): + cm_file.write("\tINTERFACE \"-u __rt_init_" + init_export[i] + "\"\n") + cm_file.write(")\n") + +def ESPIDFProject(env,project): + print('Update setting files for CMakeLists.txt...') + GenerateCFiles(env,project) + print('Done!') -- cgit v1.3.1