FluidNC/platformio.ini

165 lines
4.5 KiB
INI

; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[platformio]
src_dir = FluidNC
include_dir = FluidNC/include
; lib_dir = libraries
test_dir = FluidNC/tests
data_dir = FluidNC/data
default_envs = wifi
extra_configs=
platformio_override.ini
;debug.ini
[common_env_data]
lib_deps_builtin =
SPI
[common]
build_flags =
!python3 git-version.py
-DCORE_DEBUG_LEVEL=0
-Wno-unused-variable
-Wno-unused-function
lib_deps =
TMCStepper@>=0.7.0,<1.0.0
thingpulse/ESP8266 and ESP32 OLED driver for SSD1306 displays@4.4.1
bt_deps =
BluetoothSerial
wifi_deps =
arduinoWebSockets=https://github.com/MitchBradley/arduinoWebSockets#canSend
WiFi=https://github.com/MitchBradley/WiFi#canWrite
; If we include the following explicit dependencies when we get the
; Arduino framework code from github, platformio picks up different
; and incompatible versions of these libraries from who knows where,
; ArduinoOTA
; DNSServer
; ESPmDNS
; Update
; WebServer
; WiFi
; WiFiClientSecure
[common_esp32_base]
platform = https://github.com/platformio/platform-espressif32.git
framework = arduino
platform_packages =
platformio/framework-arduinoespressif32@^3.20016.0
board_build.arduino.upstream_packages = no
upload_speed = 921600
board_build.partitions = min_littlefs.csv ; For 4M ESP32
board_build.filesystem = littlefs
; board_build.partitions = FluidNC/ld/esp32/app3M_spiffs1M_8MB.csv ; For 8Meg ESP32
; board_build.partitions = FluidNC/ld/esp32/app3M_spiffs9M_16MB.csv ; For 16Meg ESP32
monitor_speed = 115200
monitor_flags =
--eol=LF
monitor_filters=esp32_exception_decoder
board_build.f_flash = 80000000L
build_unflags = -std=gnu++11
build_flags = ${common.build_flags} -std=gnu++17 -D_GLIBCXX_HAVE_DIRENT_H -D__FLUIDNC
; -lstdc++fs
build_src_filter =
+<*.h> +<*.s> +<*.S> +<*.cpp> +<*.c> +<src/>
+<esp32>
+<stdfs>
-<src/WebUI>
-<src/BTConfig.cpp>
; -<src/OLED.cpp>
lib_extra_dirs =
libraries
[common_esp32]
; See FluidNC/ld/esp32/README.md
extra_scripts = FluidNC/ld/esp32/vtable_in_dram.py
extends = common_esp32_base
board = esp32dev
[common_esp32_s3]
extends = common_esp32_base
board = esp32-s3-devkitc-1
lib_deps = ${common.lib_deps}
[common_wifi]
build_src_filter = +<src/WebUI/*.cpp>
[common_bt]
build_src_filter = +<src/BTConfig.cpp> +<src/WebUI/WebCommands.cpp>
[env:debug]
extends = common_esp32
build_type = debug
lib_deps = ${common.lib_deps}
[env:noradio]
extends = common_esp32
lib_deps = ${common.lib_deps}
build_src_filter = ${common_esp32_base.build_src_filter}
[env:wifi]
extends = common_esp32
lib_deps = ${common.lib_deps} ${common.wifi_deps}
build_src_filter = ${common_esp32_base.build_src_filter} ${common_wifi.build_src_filter}
[env:bt]
extends = common_esp32
lib_deps = ${common.lib_deps} ${common.bt_deps}
build_src_filter = ${common_esp32_base.build_src_filter} ${common_bt.build_src_filter}
[env:noradio_s3]
extends = common_esp32_s3
lib_deps = ${common.lib_deps}
build_src_filter = ${common_esp32_base.build_src_filter}
build_flags = ${common_esp32_base.build_flags}
[env:wifi_s3]
extends = common_esp32_s3
lib_deps = ${common.lib_deps} ${common.wifi_deps}
build_src_filter = ${common_esp32_base.build_src_filter} ${common_wifi.build_src_filter}
[env:bt_s3]
extends = common_esp32_s3
lib_deps = ${common.lib_deps} ${common.bt_deps}
build_src_filter = ${common_esp32_base.build_src_filter} ${common_bt.build_src_filter}
; This environment has bit-rot, and does not build.
; Files relevant to it reside in ./X86TestSupport and ./FluidNC/test
; TODO - Migrate tests over to [env:tests] environment
; [env:native]
; platform = native
; test_build_src = true
; build_src_filter =
; +<*.h> +<*.s> +<*.S> +<*.cpp> +<*.c> +<src/>
; +<X86TestSupport/>
; -<src/I2SOut.cpp> -<src\Motors\Trinamic*.cpp>
; build_flags = -IX86TestSupport -std=c++17 -limagehlp
; lib_compat_mode = off
; lib_deps =
; google/googletest @ ^1.10.0
; lib_extra_dirs =
; X86TestSupport
[tests_common]
platform = native
test_framework = googletest
test_build_src = true
build_src_filter = +<src/Pins/PinOptionsParser.cpp> +<src/string_util.cpp>
build_flags = -std=c++17 -g
[env:tests]
extends = tests_common
build_flags = ${tests_common.build_flags} -fsanitize=address,undefined
[env:tests_nosan]
extends = tests_common