diff options
| author | Mengsk <[email protected]> | 2025-10-06 17:11:14 +0200 |
|---|---|---|
| committer | Mengsk <[email protected]> | 2025-10-06 17:11:14 +0200 |
| commit | 54fffd0de258e0c345e87479b9d4a221387b897b (patch) | |
| tree | 0f89c9f96f6cdbe567e257b8a46f1d23ff67155b | |
| parent | f3f6046e0bbcf9b3b926ca5f0e1882d1ceb9652d (diff) | |
Fix preset with espressif
Signed-off-by: Mengsk <[email protected]>
| -rw-r--r-- | hw/bsp/BoardPresets.json | 128 | ||||
| -rwxr-xr-x | tools/gen_presets.py | 36 |
2 files changed, 103 insertions, 61 deletions
diff --git a/hw/bsp/BoardPresets.json b/hw/bsp/BoardPresets.json index 335546837..044c74ee1 100644 --- a/hw/bsp/BoardPresets.json +++ b/hw/bsp/BoardPresets.json @@ -13,23 +13,17 @@ } }, { - "name": "adafruit_clue", - "inherits": "default" - }, - { - "name": "adafruit_feather_esp32_v2", - "inherits": "default" - }, - { - "name": "adafruit_feather_esp32c6", - "inherits": "default" - }, - { - "name": "adafruit_feather_esp32s2", - "inherits": "default" + "name": "default single config", + "hidden": true, + "description": "Configure preset for the ${presetName} board", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build/${presetName}", + "cacheVariables": { + "BOARD": "${presetName}" + } }, { - "name": "adafruit_feather_esp32s3", + "name": "adafruit_clue", "inherits": "default" }, { @@ -41,14 +35,6 @@ "inherits": "default" }, { - "name": "adafruit_magtag_29gray", - "inherits": "default" - }, - { - "name": "adafruit_metro_esp32s2", - "inherits": "default" - }, - { "name": "adafruit_metro_rp2350", "inherits": "default" }, @@ -189,42 +175,6 @@ "inherits": "default" }, { - "name": "espressif_addax_1", - "inherits": "default" - }, - { - "name": "espressif_c3_devkitc", - "inherits": "default" - }, - { - "name": "espressif_c6_devkitc", - "inherits": "default" - }, - { - "name": "espressif_kaluga_1", - "inherits": "default" - }, - { - "name": "espressif_p4_function_ev", - "inherits": "default" - }, - { - "name": "espressif_s2_devkitc", - "inherits": "default" - }, - { - "name": "espressif_s3_devkitc", - "inherits": "default" - }, - { - "name": "espressif_s3_devkitm", - "inherits": "default" - }, - { - "name": "espressif_saola_1", - "inherits": "default" - }, - { "name": "f1c100s", "inherits": "default" }, @@ -823,6 +773,66 @@ { "name": "xmc4700_relax", "inherits": "default" + }, + { + "name": "adafruit_feather_esp32_v2", + "inherits": "default single config" + }, + { + "name": "adafruit_feather_esp32c6", + "inherits": "default single config" + }, + { + "name": "adafruit_feather_esp32s2", + "inherits": "default single config" + }, + { + "name": "adafruit_feather_esp32s3", + "inherits": "default single config" + }, + { + "name": "adafruit_magtag_29gray", + "inherits": "default single config" + }, + { + "name": "adafruit_metro_esp32s2", + "inherits": "default single config" + }, + { + "name": "espressif_addax_1", + "inherits": "default single config" + }, + { + "name": "espressif_c3_devkitc", + "inherits": "default single config" + }, + { + "name": "espressif_c6_devkitc", + "inherits": "default single config" + }, + { + "name": "espressif_kaluga_1", + "inherits": "default single config" + }, + { + "name": "espressif_p4_function_ev", + "inherits": "default single config" + }, + { + "name": "espressif_s2_devkitc", + "inherits": "default single config" + }, + { + "name": "espressif_s3_devkitc", + "inherits": "default single config" + }, + { + "name": "espressif_s3_devkitm", + "inherits": "default single config" + }, + { + "name": "espressif_saola_1", + "inherits": "default single config" } ], "buildPresets": [ diff --git a/tools/gen_presets.py b/tools/gen_presets.py index 94b8d16b0..94a9361db 100755 --- a/tools/gen_presets.py +++ b/tools/gen_presets.py @@ -5,13 +5,20 @@ from pathlib import Path def main(): board_list = [] + board_list_esp = [] - # Find all board.cmake files + # Find all board.cmake files, exclude espressif for root, dirs, files in os.walk("hw/bsp"): for file in files: - if file == "board.cmake": + if file == "board.cmake" and "espressif" not in root: board_list.append(os.path.basename(root)) + # Find all espressif boards + for root, dirs, files in os.walk("hw/bsp/espressif"): + for file in files: + if file == "board.cmake": + board_list_esp.append(os.path.basename(root)) + print('Generating presets for the following boards:') print(board_list) @@ -29,8 +36,17 @@ def main(): "cacheVariables": { "CMAKE_DEFAULT_BUILD_TYPE": "RelWithDebInfo", "BOARD": r"${presetName}" + }}, + {"name": "default single config", + "hidden": True, + "description": r"Configure preset for the ${presetName} board", + "generator": "Ninja", + "binaryDir": r"${sourceDir}/build/${presetName}", + "cacheVariables": { + "BOARD": r"${presetName}" }}] + # Add non-espressif boards presets['configurePresets'].extend( sorted( [ @@ -43,6 +59,22 @@ def main(): ) ) + # Add espressif boards with single config generator + presets['configurePresets'].extend( + sorted( + [ + { + 'name': board, + 'inherits': 'default single config' + } + for board in board_list_esp + ], key=lambda x: x['name'] + ) + ) + + # Combine all boards + board_list.extend(board_list_esp) + # Build presets # no inheritance since 'name' doesn't support macro expansion presets['buildPresets'] = sorted( |
