Fix preset with espressif

Signed-off-by: Mengsk <admin@hifiphile.com>
This commit is contained in:
Mengsk
2025-10-06 17:11:14 +02:00
parent f3f6046e0b
commit 54fffd0de2
2 changed files with 104 additions and 62 deletions

View File

@@ -12,26 +12,20 @@
"BOARD": "${presetName}"
}
},
{
"name": "default single config",
"hidden": true,
"description": "Configure preset for the ${presetName} board",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": {
"BOARD": "${presetName}"
}
},
{
"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": "adafruit_feather_esp32s3",
"inherits": "default"
},
{
"name": "adafruit_feather_rp2040_usb_host",
"inherits": "default"
@@ -40,14 +34,6 @@
"name": "adafruit_fruit_jam",
"inherits": "default"
},
{
"name": "adafruit_magtag_29gray",
"inherits": "default"
},
{
"name": "adafruit_metro_esp32s2",
"inherits": "default"
},
{
"name": "adafruit_metro_rp2350",
"inherits": "default"
@@ -188,42 +174,6 @@
"name": "ek_tm4c123gxl",
"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": [

View File

@@ -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(