simplify src_filter creation

This commit is contained in:
Florent
2025-08-24 13:09:55 +02:00
parent 685f75234b
commit 228bac0add

View File

@@ -1,53 +1,30 @@
from os.path import join, realpath, exists
import shutil, os
from os.path import realpath
Import("env")
Import("env") # type: ignore
menv=env # type: ignore
platform_stm32=False
platform_esp32=False
platform_nrf52=False
platform_rp2040=False
src_filter = [
'+<*.cpp>',
'+<helpers/*.cpp>',
'+<helpers/radiolib/*.cpp>',
'+<helpers/ui/MomentaryButton.cpp>',
]
src_filter = []
src_filter.append("+<*>")
src_filter.append("-<helpers/ui/*>") # don't build with ui for now ...
for item in env.get("CPPDEFINES", []):
for item in menv.get("CPPDEFINES", []):
if isinstance(item, str) and item == "STM32_PLATFORM":
# add STM32 specific sources
env.Append(CPPPATH=[realpath("src/helpers/stm32")])
platform_stm32=True
env.Append(BUILD_FLAGS=["-I src/helpers/stm32"])
menv.Append(CPPPATH=[realpath("src/helpers/stm32")])
menv.Append(BUILD_FLAGS=["-I src/helpers/stm32"])
src_filter.append("+<helpers/stm32/*>")
elif isinstance(item, str) and item == "ESP32":
platform_esp32=True
env.Append(CPPPATH=[realpath("src/helpers/esp32")])
env.Append(BUILD_FLAGS=["-I src/helpers/esp32"])
elif isinstance(item, str) and item == "WIO_E5_DEV_VARIANT":
env.Append(BUILD_FLAGS=["-I variants/wio-e5-dev"])
src_filter.append("+<../variants/wio-e5-dev>")
elif isinstance(item, str) and item == "RAK_3X72_VARIANT":
env.Append(BUILD_FLAGS=["-I variants/rak3x72"])
src_filter.append("+<../variants/rak3x72>")
elif isinstance(item, str) and item == "XIAO_S3_WIO_VARIANT":
env.Append(BUILD_FLAGS=["-I variants/xiao_s3_wio"])
src_filter.append("+<../variants/xiao_s3_wio>")
elif isinstance(item, str) and item == "XIAO_C6_VARIANT":
env.Append(BUILD_FLAGS=["-I variants/xiao_c6"])
src_filter.append("+<../variants/xiao_c6>")
elif isinstance(item, str) and item == "GENERIC_ESPNOW_VARIANT":
env.Append(BUILD_FLAGS=["-I variants/generic_espnow"])
src_filter.append("+<../variants/generic_espnow>")
src_filter.append("+<helpers/esp32/ESPNOWRadio.cpp>")
menv.Append(CPPPATH=[realpath("src/helpers/esp32")])
menv.Append(BUILD_FLAGS=["-I src/helpers/esp32"])
src_filter.append("+<helpers/esp32/*>")
elif isinstance(item, tuple) and item[0] == "MC_VARIANT":
variant_name = item[1]
menv.Append(BUILD_FLAGS=[f"-I variants/{variant_name}"])
src_filter.append(f"+<../variants/{variant_name}>")
if not platform_stm32:
src_filter.append("-<helpers/stm32/*>")
if not platform_esp32:
src_filter.append("-<helpers/esp32/*>")
if not platform_nrf52:
src_filter.append("-<helpers/nrf52/*>")
if not platform_rp2040:
src_filter.append("-<helpers/rp2040/*>")
menv.Replace(SRC_FILTER=src_filter)
env.Replace(SRC_FILTER=src_filter)
print (env.Dump())
#print (menv.Dump())