Fixed "non-existent variable ''projenv''" when ESP-IDF is used // Resolve #4329

This commit is contained in:
Ivan Kravets
2022-06-28 14:28:52 +03:00
parent 32e440bec7
commit 1f096fe03f

View File

@ -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()