Environment variables
are a set of dynamic named values that can affect the way running processes
will behave on a computer. PlatformIO handles variables which start with
PLATFORMIO_
prefix.
How to set environment variable?
# Windows
set VARIABLE_NAME=VALUE
# Windows GUI -> https://www.youtube.com/watch?v=bEroNNzqlF4
# Unix (bash, zsh)
export VARIABLE_NAME=VALUE
# Unix (fish)
set -x VARIABLE_NAME VALUE
PlatformIO uses General environment variables for the common operations/commands.
PlatformIO handles CI
variable which is setup by
Continuous Integration
(Travis, Circle and etc.) systems.
PlatformIO uses it to disable prompts and progress bars. In other words,
CI=true
automatically setup PLATFORMIO_DISABLE_PROGRESSBAR
to
true
.
Allows one to specify Personal Authentication Token that could be used for automatic login in to PlatformIO Account. It is very useful for Continuous Integration systems and Remote Development operations where you are not able manually authorize.
You can get own Personal Authentication Token using pio account token command.
Force to output ANSI control character even if the output is a pipe
(not a tty
).
The possible values are true
and false
. Default is PLATFORMIO_FORCE_ANSI=false
.
Do not print ANSI control characters.
The possible values are true
and false
. Default is PLATFORMIO_NO_ANSI=false
.
You can also use pio --no-ansi
flag for PlatformIO Core (CLI).
Disable progress bar for package/library downloader and uploader. This is
useful when calling PlatformIO from subprocess and output is a pipe
(not a tty
).
The possible values are true
and false
. Default is PLATFORMIO_DISABLE_PROGRESSBAR=false
.
Allows one to override “platformio.ini” (Project Configuration File) option core_dir.
It may need to re-install PlatformIO Core (CLI) (remove default core directory) to take effect.
Allows one to override “platformio.ini” (Project Configuration File) option globallib_dir.
Allows one to override “platformio.ini” (Project Configuration File) option platforms_dir.
Allows one to override “platformio.ini” (Project Configuration File) option packages_dir.
Allows one to override “platformio.ini” (Project Configuration File) option cache_dir.
Allows one to override “platformio.ini” (Project Configuration File) option build_cache_dir.
Allows one to override “platformio.ini” (Project Configuration File) option workspace_dir.
Allows one to override “platformio.ini” (Project Configuration File) option include_dir.
Allows one to override “platformio.ini” (Project Configuration File) option src_dir.
Allows one to override “platformio.ini” (Project Configuration File) option lib_dir.
Allows one to override “platformio.ini” (Project Configuration File) option libdeps_dir.
Allows one to override “platformio.ini” (Project Configuration File) option build_dir.
Allows one to override “platformio.ini” (Project Configuration File) option data_dir.
Allows one to override “platformio.ini” (Project Configuration File) option test_dir.
Allows one to override “platformio.ini” (Project Configuration File) option boards_dir.
Allows one to override “platformio.ini” (Project Configuration File) option monitor_dir.
Allows one to override “platformio.ini” (Project Configuration File) option shared_dir.
Allows one to override pio remote agent start --working-dir
.
Allows one to set “platformio.ini” (Project Configuration File) option build_flags.
Examples:
# Unix:
export PLATFORMIO_BUILD_FLAGS=-DFOO
export PLATFORMIO_BUILD_FLAGS=-DFOO -DBAR=1 -Wall
# Windows:
SET PLATFORMIO_BUILD_FLAGS=-DFOO
SET PLATFORMIO_BUILD_FLAGS=-DFOO -DBAR=1 -Wall
Warning
Consider using Interpolation of Values instead of PLATFORMIO_BUILD_FLAGS
environment variable if additional build flags contain preprocessor directive with
special characters ($
, &
, ~
, etc) in its value.
Allows one to set “platformio.ini” (Project Configuration File) option build_src_flags.
Allows one to set “platformio.ini” (Project Configuration File) option build_src_filter.
Allows one to set “platformio.ini” (Project Configuration File) option extra_scripts.
Allows one to set “platformio.ini” (Project Configuration File) option default_envs.
Allows one to set “platformio.ini” (Project Configuration File) option upload_port.
Allows one to set “platformio.ini” (Project Configuration File) option upload_flags.
Allows one to override PlatformIO settings. You can manage them via pio settings command.
Allows one to override setting check_platformio_interval.
Allows one to override setting check_prune_system_threshold.
Allows one to override setting enable_cache.
Allows one to override setting enable_telemetry.
Allows one to override setting force_verbose.
Allows one to override setting projects_dir.
Allows one to override setting enable_proxy_strict_ssl.