Skip to content

Latest commit

 

History

History
244 lines (143 loc) · 7.21 KB

envvars.rst

File metadata and controls

244 lines (143 loc) · 7.21 KB

Environment variables

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.

.. envvar:: CI

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 :envvar:`PLATFORMIO_DISABLE_PROGRESSBAR` to true.

.. envvar:: PLATFORMIO_AUTH_TOKEN

Allows one to specify Personal Authentication Token that could be used for automatic login in to :ref:`pioaccount`. It is very useful for :ref:`ci` systems and :ref:`pioremote` operations where you are not able manually authorize.

You can get own Personal Authentication Token using :ref:`cmd_account_token` command.

.. envvar:: PLATFORMIO_FORCE_ANSI

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.

.. envvar:: PLATFORMIO_NO_ANSI

Do not print ANSI control characters. The possible values are true and false. Default is PLATFORMIO_NO_ANSI=false.

You can also use :option:`pio --no-ansi` flag for :ref:`piocore`.

.. envvar:: PLATFORMIO_DISABLE_PROGRESSBAR

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.

.. envvar:: PLATFORMIO_CORE_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_core_dir`.

It may need to re-install :ref:`piocore` (remove default core directory) to take effect.

.. envvar:: PLATFORMIO_GLOBALLIB_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_globallib_dir`.

.. envvar:: PLATFORMIO_PLATFORMS_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_platforms_dir`.

.. envvar:: PLATFORMIO_PACKAGES_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_packages_dir`.

.. envvar:: PLATFORMIO_CACHE_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_cache_dir`.

.. envvar:: PLATFORMIO_BUILD_CACHE_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_build_cache_dir`.

.. envvar:: PLATFORMIO_WORKSPACE_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_workspace_dir`.

.. envvar:: PLATFORMIO_INCLUDE_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_include_dir`.

.. envvar:: PLATFORMIO_SRC_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_src_dir`.

.. envvar:: PLATFORMIO_LIB_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_lib_dir`.

.. envvar:: PLATFORMIO_LIBDEPS_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_libdeps_dir`.

.. envvar:: PLATFORMIO_BUILD_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_build_dir`.

.. envvar:: PLATFORMIO_DATA_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_data_dir`.

.. envvar:: PLATFORMIO_TEST_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_test_dir`.

.. envvar:: PLATFORMIO_BOARDS_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_boards_dir`.

.. envvar:: PLATFORMIO_MONITOR_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_monitor_dir`.

.. envvar:: PLATFORMIO_SHARED_DIR

Allows one to override :ref:`projectconf` option :ref:`projectconf_pio_shared_dir`.

.. envvar:: PLATFORMIO_REMOTE_AGENT_DIR

Allows one to override :option:`pio remote agent start --working-dir`.

.. envvar:: PLATFORMIO_BUILD_FLAGS

Allows one to set :ref:`projectconf` option :ref:`projectconf_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 :ref:`projectconf_interpolation` instead of PLATFORMIO_BUILD_FLAGS environment variable if additional build flags contain preprocessor directive with special characters ($, &, ~, etc) in its value.

.. envvar:: PLATFORMIO_BUILD_SRC_FLAGS

Allows one to set :ref:`projectconf` option :ref:`projectconf_build_src_flags`.

.. envvar:: PLATFORMIO_BUILD_SRC_FILTER

Allows one to set :ref:`projectconf` option :ref:`projectconf_build_src_filter`.

.. envvar:: PLATFORMIO_EXTRA_SCRIPTS

Allows one to set :ref:`projectconf` option :ref:`projectconf_extra_scripts`.

.. envvar:: PLATFORMIO_DEFAULT_ENVS

Allows one to set :ref:`projectconf` option :ref:`projectconf_pio_default_envs`.

.. envvar:: PLATFORMIO_UPLOAD_PORT

Allows one to set :ref:`projectconf` option :ref:`projectconf_upload_port`.

.. envvar:: PLATFORMIO_UPLOAD_FLAGS

Allows one to set :ref:`projectconf` option :ref:`projectconf_upload_flags`.

Allows one to override PlatformIO settings. You can manage them via :ref:`cmd_settings` command.

.. envvar:: PLATFORMIO_SETTING_CHECK_PLATFORMIO_INTERVAL

Allows one to override setting :ref:`setting_check_platformio_interval`.

.. envvar:: PLATFORMIO_SETTING_CHECK_PRUNE_SYSTEM_THRESHOLD

Allows one to override setting :ref:`setting_check_prune_system_threshold`.

.. envvar:: PLATFORMIO_SETTING_ENABLE_CACHE

Allows one to override setting :ref:`setting_enable_cache`.

.. envvar:: PLATFORMIO_SETTING_ENABLE_TELEMETRY

Allows one to override setting :ref:`setting_enable_telemetry`.

.. envvar:: PLATFORMIO_SETTING_FORCE_VERBOSE

Allows one to override setting :ref:`setting_force_verbose`.

.. envvar:: PLATFORMIO_SETTING_PROJECTS_DIR

Allows one to override setting :ref:`setting_projects_dir`.

.. envvar:: PLATFORMIO_SETTING_ENABLE_PROXY_STRICT_SSL

Allows one to override setting :ref:`setting_enable_proxy_strict_ssl`.