mirror of https://github.com/meshcore-dev/MeshCore
5 changed files with 101 additions and 2 deletions
@ -0,0 +1,64 @@ |
|||
from os.path import realpath |
|||
|
|||
Import("env") # type: ignore |
|||
menv=env # type: ignore |
|||
|
|||
src_filter = [ |
|||
'+<*.cpp>', |
|||
'+<helpers/*.cpp>', |
|||
'+<helpers/sensors>', |
|||
'+<helpers/radiolib/*.cpp>', |
|||
'+<helpers/ui/MomentaryButton.cpp>', |
|||
'+<helpers/ui/buzzer.cpp>', |
|||
] |
|||
|
|||
# add build and include dirs according to CPPDEFINES |
|||
for item in menv.get("CPPDEFINES", []): |
|||
|
|||
# PLATFORM HANDLING |
|||
if item == "STM32_PLATFORM": |
|||
src_filter.append("+<helpers/stm32/*>") |
|||
elif item == "ESP32": |
|||
src_filter.append("+<helpers/esp32/*>") |
|||
elif item == "NRF52_PLATFORM": |
|||
src_filter.append("+<helpers/nrf52/*>") |
|||
elif item == "RP2040_PLATFORM": |
|||
src_filter.append("+<helpers/rp2040/*>") |
|||
|
|||
# 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>") |
|||
|
|||
# VARIANTS HANDLING |
|||
elif isinstance(item, tuple) and item[0] == "MC_VARIANT": |
|||
variant_name = item[1] |
|||
src_filter.append(f"+<../variants/{variant_name}>") |
|||
|
|||
# INCLUDE EXAMPLE CODE IN BUILD (to provide your own support files without touching the tree) |
|||
elif isinstance(item, tuple) and item[0] == "BUILD_EXAMPLE": |
|||
example_name = item[1] |
|||
src_filter.append(f"+<../examples/{example_name}/*.cpp>") |
|||
|
|||
# EXCLUDE A SOURCE FILE FROM AN EXAMPLE (must be placed after example name or boom) |
|||
elif isinstance(item, tuple) and item[0] == "EXCLUDE_FROM_EXAMPLE": |
|||
exclude_name = item[1] |
|||
if example_name is None: |
|||
print("***** PLEASE DEFINE EXAMPLE FIRST *****") |
|||
break |
|||
src_filter.append(f"-<../examples/{example_name}/{exclude_name}>") |
|||
|
|||
# DEAL WITH UI VARIANT FOR AN EXAMPLE |
|||
elif isinstance(item, tuple) and item[0] == "MC_UI_FLAVOR": |
|||
ui_flavor = item[1] |
|||
if example_name is None: |
|||
print("***** PLEASE DEFINE EXAMPLE FIRST *****") |
|||
break |
|||
src_filter.append(f"+<../examples/{example_name}/{ui_flavor}/*.cpp>") |
|||
|
|||
menv.Replace(SRC_FILTER=src_filter) |
|||
|
|||
#print (menv.Dump()) |
|||
@ -0,0 +1,16 @@ |
|||
{ |
|||
"name": "MeshCore", |
|||
"version" : "1.7.4", |
|||
"dependencies": { |
|||
"SPI": "*", |
|||
"Wire": "*", |
|||
"jgromes/RadioLib": "^7.1.2", |
|||
"rweather/Crypto": "^0.4.0", |
|||
"adafruit/RTClib": "^2.1.3", |
|||
"melopero/Melopero RV3028": "^1.1.0", |
|||
"electroniccats/CayenneLPP": "1.4.0" |
|||
}, |
|||
"build": { |
|||
"extraScript": "build_as_lib.py" |
|||
} |
|||
} |
|||
Loading…
Reference in new issue