Parcourir la source

simplify src_filter creation

Florent il y a 11 mois
Parent
commit
228bac0add
1 fichiers modifiés avec 22 ajouts et 45 suppressions
  1. 22 45
      build_as_lib.py

+ 22 - 45
build_as_lib.py

@@ -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>")
-
-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.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}>")
 
-env.Replace(SRC_FILTER=src_filter)
+menv.Replace(SRC_FILTER=src_filter)
 
-print (env.Dump())
+#print (menv.Dump())