build_as_lib.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from os.path import realpath
  2. Import("env") # type: ignore
  3. menv=env # type: ignore
  4. src_filter = [
  5. '+<*.cpp>',
  6. '+<helpers/*.cpp>',
  7. '+<helpers/sensors>'
  8. '+<helpers/radiolib/*.cpp>',
  9. '+<helpers/ui/MomentaryButton.cpp>',
  10. ]
  11. # add build and include dirs according to CPPDEFINES
  12. for item in menv.get("CPPDEFINES", []):
  13. # STM32
  14. if isinstance(item, str) and item == "STM32_PLATFORM":
  15. menv.Append(CPPPATH=[realpath("src/helpers/stm32")])
  16. menv.Append(BUILD_FLAGS=["-I src/helpers/stm32"])
  17. src_filter.append("+<helpers/stm32/*>")
  18. # ESP32
  19. elif isinstance(item, str) and item == "ESP32":
  20. menv.Append(CPPPATH=[realpath("src/helpers/esp32")])
  21. menv.Append(BUILD_FLAGS=["-I src/helpers/esp32"])
  22. src_filter.append("+<helpers/esp32/*>")
  23. # NRF52
  24. elif isinstance(item, str) and item == "NRF52_PLATFORM":
  25. menv.Append(CPPPATH=[realpath("src/helpers/nrf52")])
  26. menv.Append(BUILD_FLAGS=["-I src/helpers/nrf52"])
  27. src_filter.append("+<helpers/nrf52/*>")
  28. # RP2040
  29. elif isinstance(item, str) and item == "RP2040_PLATFORM":
  30. menv.Append(CPPPATH=[realpath("src/helpers/rp2040")])
  31. menv.Append(BUILD_FLAGS=["-I src/helpers/rp2040"])
  32. src_filter.append("+<helpers/rp2040/*>")
  33. # VARIANTS HANDLING
  34. elif isinstance(item, tuple) and item[0] == "MC_VARIANT":
  35. variant_name = item[1]
  36. menv.Append(BUILD_FLAGS=[f"-I variants/{variant_name}"])
  37. src_filter.append(f"+<../variants/{variant_name}>")
  38. menv.Replace(SRC_FILTER=src_filter)
  39. #print (menv.Dump())