diff --git a/platformio/builder/main.py b/platformio/builder/main.py index 74f6acd3..730af43a 100644 --- a/platformio/builder/main.py +++ b/platformio/builder/main.py @@ -127,6 +127,7 @@ env.Replace( PROJECT_DATA_DIR=config.get("platformio", "data_dir"), PROJECTDATA_DIR="$PROJECT_DATA_DIR", # legacy for dev/platform PROJECT_BUILD_DIR=config.get("platformio", "build_dir"), + BUILD_TYPE=env.GetBuildType(), BUILD_CACHE_DIR=config.get("platformio", "build_cache_dir"), LIBSOURCE_DIRS=[ config.get("platformio", "lib_dir"), diff --git a/platformio/builder/tools/piolib.py b/platformio/builder/tools/piolib.py index d375347f..c27fb116 100644 --- a/platformio/builder/tools/piolib.py +++ b/platformio/builder/tools/piolib.py @@ -146,7 +146,7 @@ class LibBuilderBase: self._processed_search_files = [] # pass a macro to the projenv + libs - if "test" in env.GetBuildType(): + if "test" in env["BUILD_TYPE"]: self.env.Append(CPPDEFINES=["PIO_UNIT_TESTING"]) # reset source filter, could be overridden with extra script @@ -911,7 +911,7 @@ class ProjectAsLibBuilder(LibBuilderBase): def get_search_files(self): items = [] - build_type = self.env.GetBuildType() + build_type = self.env["BUILD_TYPE"] # project files if "test" not in build_type or self.env.GetProjectOption("test_build_src"): items.extend(super().get_search_files()) @@ -1164,7 +1164,7 @@ def ConfigureProjectLibBuilder(env): project = ProjectAsLibBuilder(env, "$PROJECT_DIR") - if "test" in env.GetBuildType(): + if "test" in env["BUILD_TYPE"]: project.env.ConfigureTestTarget() ldf_mode = LibBuilderBase.lib_ldf_mode.fget(project) # pylint: disable=no-member diff --git a/platformio/builder/tools/platformio.py b/platformio/builder/tools/platformio.py index 04b1b1d7..d642a8f7 100644 --- a/platformio/builder/tools/platformio.py +++ b/platformio/builder/tools/platformio.py @@ -86,7 +86,7 @@ def BuildProgram(env): ) ) - print("Building in %s mode" % env.GetBuildType()) + print("Building in %s mode" % env["BUILD_TYPE"]) return program @@ -121,7 +121,7 @@ def ProcessProgramDeps(env): # process framework scripts env.BuildFrameworks(env.get("PIOFRAMEWORK")) - if "debug" in env.GetBuildType(): + if "debug" in env["BUILD_TYPE"]: env.ConfigureDebugTarget() # remove specified flags @@ -149,7 +149,7 @@ def ProcessProjectDeps(env): } ) - if "test" in env.GetBuildType(): + if "test" in env["BUILD_TYPE"]: build_files_before_nums = len(env.get("PIOBUILDFILES", [])) plb.env.BuildSources( "$BUILD_TEST_DIR", "$PROJECT_TEST_DIR", "$PIOTEST_SRC_FILTER" @@ -161,7 +161,7 @@ def ProcessProjectDeps(env): ) env.Exit(1) - if "test" not in env.GetBuildType() or env.GetProjectOption("test_build_src"): + if "test" not in env["BUILD_TYPE"] or env.GetProjectOption("test_build_src"): plb.env.BuildSources( "$BUILD_SRC_DIR", "$PROJECT_SRC_DIR", env.get("SRC_FILTER") )