MeshCore/build_as_lib.py

59 lines
1.9 KiB
Python
Raw Normal View History

2025-08-24 13:09:55 +02:00
from os.path import realpath
2025-08-24 13:09:55 +02:00
Import("env") # type: ignore
menv=env # type: ignore
2025-08-24 13:09:55 +02:00
src_filter = [
'+<*.cpp>',
'+<helpers/*.cpp>',
2025-08-25 12:11:39 +02:00
'+<helpers/sensors>',
2025-08-24 13:09:55 +02:00
'+<helpers/radiolib/*.cpp>',
'+<helpers/ui/MomentaryButton.cpp>',
'+<helpers/ui/buzzer.cpp>',
2025-08-24 13:09:55 +02:00
]
2025-08-24 14:47:03 +02:00
# add build and include dirs according to CPPDEFINES
2025-08-24 13:09:55 +02:00
for item in menv.get("CPPDEFINES", []):
2025-08-24 14:47:03 +02:00
# STM32
if isinstance(item, str) and item == "STM32_PLATFORM":
2025-08-24 13:09:55 +02:00
menv.Append(CPPPATH=[realpath("src/helpers/stm32")])
menv.Append(BUILD_FLAGS=["-I src/helpers/stm32"])
src_filter.append("+<helpers/stm32/*>")
2025-08-24 14:47:03 +02:00
# ESP32
elif isinstance(item, str) and item == "ESP32":
2025-08-24 13:09:55 +02:00
menv.Append(CPPPATH=[realpath("src/helpers/esp32")])
menv.Append(BUILD_FLAGS=["-I src/helpers/esp32"])
src_filter.append("+<helpers/esp32/*>")
2025-08-24 14:47:03 +02:00
# NRF52
elif isinstance(item, str) and item == "NRF52_PLATFORM":
menv.Append(CPPPATH=[realpath("src/helpers/nrf52")])
menv.Append(BUILD_FLAGS=["-I src/helpers/nrf52"])
src_filter.append("+<helpers/nrf52/*>")
# RP2040
elif isinstance(item, str) and item == "RP2040_PLATFORM":
menv.Append(CPPPATH=[realpath("src/helpers/rp2040")])
menv.Append(BUILD_FLAGS=["-I src/helpers/rp2040"])
src_filter.append("+<helpers/rp2040/*>")
2025-08-25 12:11:39 +02:00
# DISPLAY HANDLING
elif isinstance(item, tuple) and item[0] == "DISPLAY_CLASS":
display_class = item[1]
src_filter.append(f"+<helpers/ui/{display_class}.cpp>")
if (display_class == "ST7789Display") :
src_filter.append(f"+<helpers/ui/OLEDDisplay.cpp>")
src_filter.append(f"+<helpers/ui/OLEDDisplayFonts.cpp>")
2025-08-24 14:47:03 +02:00
# VARIANTS HANDLING
2025-08-24 13:09:55 +02:00
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}>")
2025-08-24 13:09:55 +02:00
menv.Replace(SRC_FILTER=src_filter)
2025-08-24 13:09:55 +02:00
#print (menv.Dump())