diff --git a/build_as_lib.py b/build_as_lib.py new file mode 100644 index 00000000..93593cdb --- /dev/null +++ b/build_as_lib.py @@ -0,0 +1,53 @@ +from os.path import join, realpath, exists +import shutil, os + +Import("env") + +platform_stm32=False +platform_esp32=False +platform_nrf52=False +platform_rp2040=False + +src_filter = [] +src_filter.append("+<*>") +src_filter.append("-") # don't build with ui for now ... + +for item in env.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"]) + 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("+") + +if not platform_stm32: + src_filter.append("-") +if not platform_esp32: + src_filter.append("-") +if not platform_nrf52: + src_filter.append("-") +if not platform_rp2040: + src_filter.append("-") + +env.Replace(SRC_FILTER=src_filter) + +print (env.Dump()) diff --git a/library.json b/library.json new file mode 100644 index 00000000..982983a3 --- /dev/null +++ b/library.json @@ -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" + } +} \ No newline at end of file