diff --git a/platformio/builder/tools/piolib.py b/platformio/builder/tools/piolib.py index e728216e..bab464ba 100644 --- a/platformio/builder/tools/piolib.py +++ b/platformio/builder/tools/piolib.py @@ -333,7 +333,7 @@ class LibBuilderBase: LibBuilderBase._INCLUDE_DIRS_CACHE = [ self.env.Dir(d) for d in ProjectAsLibBuilder( - self.envorigin, "$PROJECT_DIR" + self.envorigin, "$PROJECT_DIR", export_projenv=False ).get_include_dirs() ] for lb in self.env.GetLibBuilders(): @@ -862,10 +862,15 @@ class PlatformIOLibBuilder(LibBuilderBase): class ProjectAsLibBuilder(LibBuilderBase): def __init__(self, env, *args, **kwargs): + export_projenv = kwargs.get("export_projenv", True) + if "export_projenv" in kwargs: + del kwargs["export_projenv"] # backup original value, will be reset in base.__init__ project_src_filter = env.get("SRC_FILTER") super().__init__(env, *args, **kwargs) self.env["SRC_FILTER"] = project_src_filter + if export_projenv: + env.Export(dict(projenv=self.env)) @property def include_dir(self): @@ -1130,7 +1135,6 @@ def ConfigureProjectLibBuilder(env): _print_deps_tree(lb, level + 1) project = ProjectAsLibBuilder(env, "$PROJECT_DIR") - env.Export(dict(projenv=project.env)) if "test" in env.GetBuildType(): project.env.ConfigureTestTarget()