Files
M5UnitUnified/platformio.ini

363 lines
8.5 KiB
INI

;-----------------------------------------------------------------------
; M5UnitUnified: Tests (using local sources via lib/)
;-----------------------------------------------------------------------
[platformio]
[env]
build_flags = -Wall -Wextra -Wreturn-local-addr -Werror=format -Werror=return-local-addr
test_framework = googletest
test_build_src = true
lib_ldf_mode = deep
lib_deps=m5stack/M5Unified
m5stack/M5Utility
m5stack/M5HAL
; --------------------------------
; Board definitions
; --------------------------------
[m5base]
monitor_speed = 115200
monitor_filters = esp32_exception_decoder, time
upload_speed = 1500000
test_speed = 115200
test_filter= embedded/test_update
test_ignore= native/*
[Core]
extends = m5base
board = m5stack-core-esp32-16M
lib_deps = ${env.lib_deps}
[Core2]
extends = m5base
board = m5stack-core2
lib_deps = ${env.lib_deps}
[CoreS3]
extends = m5base
board = m5stack-cores3
lib_deps = ${env.lib_deps}
[Fire]
extends = m5base
board = m5stack-fire
lib_deps = ${env.lib_deps}
[StampS3]
;include M5Capsule, DinMeter
extends = m5base
board = m5stack-stamps3
lib_deps = ${env.lib_deps}
[Dial]
extends = m5base
board = m5stack-stamps3
lib_deps = ${env.lib_deps}
m5stack/M5Dial
[Atom]
;include AtomMatrix,AtomLite,AtomU
extends = m5base
board = m5stack-atom
lib_deps = ${env.lib_deps}
[AtomS3]
;include AtomEchoS3R,AtomS3Lite,AtomS3U
extends = m5base
board = m5stack-atoms3
lib_deps = ${env.lib_deps}
; Using ./boards/m5stack-atoms3r.json
[AtomS3R]
;include AtomEchoS3R
extends = m5base
board = m5stack-atoms3r
lib_deps = ${env.lib_deps}
; Using ./boards/m5stack-nanoc6.json
[NanoC6]
extends = m5base
board = m5stack-nanoc6
board_build.partitions = default.csv
lib_deps = ${env.lib_deps}
[StickCPlus]
extends = m5base
board = m5stick-c
lib_deps = ${env.lib_deps}
; Using ./boards/m5stick-cplus2.json
[StickCPlus2]
extends = m5base
board = m5stick-cplus2
lib_deps = ${env.lib_deps}
[StickS3]
extends = m5base
board = esp32-s3-devkitc-1
board_build.arduino.partitions = default_8MB.csv
board_build.arduino.memory_type = qio_opi
build_flags =
-DESP32S3
-DBOARD_HAS_PSRAM
-mfix-esp32-psram-cache-issue
-DARDUINO_USB_CDC_ON_BOOT=1
-DARDUINO_USB_MODE=1
lib_deps = ${env.lib_deps}
[Paper]
extends = m5base
board = m5stack-fire
lib_deps = ${env.lib_deps}
[CoreInk]
extends = m5base
board = m5stack-coreink
lib_deps = ${env.lib_deps}
[Cardputer]
extends = m5base
board = esp32-s3-devkitc-1
build_flags =
-DESP32S3
-DARDUINO_USB_CDC_ON_BOOT=1
-DARDUINO_USB_MODE=1
lib_deps = ${env.lib_deps}
[Tab5]
extends = m5base
board = esp32-p4-evboard
board_build.mcu = esp32p4
board_build.flash_mode = qio
build_flags =
-DBOARD_HAS_PSRAM
-DARDUINO_USB_CDC_ON_BOOT=1
-DARDUINO_USB_MODE=1
lib_deps = ${env.lib_deps}
[NessoN1]
extends = m5base
board = arduino_nesso_n1
lib_deps = ${env.lib_deps}
[sdl]
build_flags = -O3 -xc++ -std=c++14 -lSDL2
-arch arm64 ; for arm mac
-I"/usr/local/include/SDL2" ; for intel mac homebrew SDL2
-L"/usr/local/lib" ; for intel mac homebrew SDL2
-I"${sysenv.HOMEBREW_PREFIX}/include/SDL2" ; for arm mac homebrew SDL2
-L"${sysenv.HOMEBREW_PREFIX}/lib" ; for arm mac homebrew SDL2
platform = native
test_filter= native/*
test_ignore= embedded/*
lib_deps = ${env.lib_deps}
; --------------------------------
; Choose framework
; --------------------------------
[arduino_latest]
platform = espressif32 @ 6.12.0
framework = arduino
[nanoc6_latest]
platform = espressif32 @ 6.12.0
platform_packages =
platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.7
platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/esp32-arduino-libs.git#idf-release/v5.1
framework = arduino
[pioarduino_latest]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.36/platform-espressif32.zip
framework = arduino
; --------------------------------
; Build options
; --------------------------------
[option_release]
build_type=release
build_flags = ${env.build_flags}
-DCORE_DEBUG_LEVEL=3
-DLOG_LOCAL_LEVEL=3
-DAPP_LOG_LEVEL=3
-DM5_LOG_LEVEL=3
[option_log]
build_type=release
build_flags = ${env.build_flags}
-DCORE_DEBUG_LEVEL=5
-DLOG_LOCAL_LEVEL=5
-DAPP_LOG_LEVEL=5
[option_debug]
build_type=debug
build_flags = ${env.build_flags}
-DCORE_DEBUG_LEVEL=5
-DLOG_LOCAL_LEVEL=5
-DAPP_LOG_LEVEL=5
-DDEBUG
[option_map]
build_type=release
build_flags = ${env.build_flags}
-DCORE_DEBUG_LEVEL=3
-DLOG_LOCAL_LEVEL=3
-DAPP_LOG_LEVEL=3
-DM5_LOG_LEVEL=0
-Wl,-Map,output.map
; --------------------------------
; Tests
; --------------------------------
; Require at least C++14 after 1.13.0
[test_fw]
lib_deps = google/googletest@1.12.1
[test_base]
; M5HAL, M5Utility, M5Unit-* are resolved via symlinks in lib/
; M5Unified via lib_deps (depends on M5GFX etc.)
lib_extra_dirs = lib
.
lib_deps = m5stack/M5Unified
${test_fw.lib_deps}
; Temporarily broken libs (uncomment to skip)
;lib_ignore = M5Unit-RFID
; M5Unit-CRYPTO
[env:test_Core]
extends=Core, option_release, test_base, arduino_latest
[env:test_Core2]
extends=Core2, option_release, test_base, arduino_latest
[env:test_CoreS3]
extends=CoreS3, option_release, test_base, arduino_latest
[env:test_Fire]
extends=Fire, option_release, test_base, arduino_latest
[env:test_StampS3]
extends=StampS3, option_release, test_base, arduino_latest
[env:test_Dial]
extends=Dial, option_release, test_base, arduino_latest
[env:test_Atom]
extends=Atom, option_release, test_base, arduino_latest
[env:test_AtomS3]
extends=AtomS3, option_release, test_base, arduino_latest
[env:test_AtomS3R]
extends=AtomS3R, option_release, test_base, arduino_latest
[env:test_NanoC6]
extends=NanoC6, option_release, test_base, nanoc6_latest
lib_ignore = bsec2
[env:test_StickCPlus]
extends=StickCPlus, option_release, test_base, arduino_latest
[env:test_StickCPlus2]
extends=StickCPlus2, option_release, test_base, arduino_latest
[env:test_StickS3]
extends=StickS3, option_release, test_base, arduino_latest
build_flags = ${StickS3.build_flags}
${option_release.build_flags}
[env:test_Paper]
extends=Paper, option_release, test_base, arduino_latest
[env:test_CoreInk]
extends=CoreInk, option_release, test_base, arduino_latest
[env:test_Cardputer]
extends=Cardputer, option_release, test_base, arduino_latest
build_flags = ${Cardputer.build_flags}
${option_release.build_flags}
[env:test_Tab5]
extends=Tab5, option_release, test_base, pioarduino_latest
build_flags = ${Tab5.build_flags}
${option_release.build_flags}
[env:test_NessoN1]
extends=NessoN1, option_release, test_base, pioarduino_latest
; --------------------------------
; README sample code tests
; No M5Unit-* dependencies needed (uses UnitDummy only)
; Works in CI without lib/ symlinks
; --------------------------------
[readme_base]
lib_deps = m5stack/M5Unified
m5stack/M5Utility
m5stack/M5HAL
${test_fw.lib_deps}
test_filter = embedded/test_readme
test_ignore = embedded/test_update
build_flags = ${option_release.build_flags}
-DGTEST_FILTER='"ReadmeSample.*"'
[env:test_readme_Core]
extends=Core, readme_base, arduino_latest
[env:test_readme_Core2]
extends=Core2, readme_base, arduino_latest
[env:test_readme_CoreS3]
extends=CoreS3, readme_base, arduino_latest
[env:test_readme_Fire]
extends=Fire, readme_base, arduino_latest
[env:test_readme_StampS3]
extends=StampS3, readme_base, arduino_latest
[env:test_readme_Dial]
extends=Dial, readme_base, arduino_latest
[env:test_readme_Atom]
extends=Atom, readme_base, arduino_latest
[env:test_readme_AtomS3]
extends=AtomS3, readme_base, arduino_latest
[env:test_readme_AtomS3R]
extends=AtomS3R, readme_base, arduino_latest
[env:test_readme_NanoC6]
extends=NanoC6, readme_base, nanoc6_latest
[env:test_readme_StickCPlus]
extends=StickCPlus, readme_base, arduino_latest
[env:test_readme_StickCPlus2]
extends=StickCPlus2, readme_base, arduino_latest
[env:test_readme_StickS3]
extends=StickS3, readme_base, arduino_latest
build_flags = ${StickS3.build_flags}
${readme_base.build_flags}
[env:test_readme_Paper]
extends=Paper, readme_base, arduino_latest
[env:test_readme_CoreInk]
extends=CoreInk, readme_base, arduino_latest
[env:test_readme_Cardputer]
extends=Cardputer, readme_base, arduino_latest
build_flags = ${Cardputer.build_flags}
${readme_base.build_flags}
[env:test_readme_Tab5]
extends=Tab5, readme_base, pioarduino_latest
build_flags = ${Tab5.build_flags}
${readme_base.build_flags}
[env:test_readme_NessoN1]
extends=NessoN1, readme_base, pioarduino_latest