ufbt: fixed FAP_SRC_DIR (#2970)

* fbt, ufbt: fixed "_appdir" internal property and FAP_SRC_DIR not working in ufbt environment
* fbt, ufbt: reworked CompileIcons(); added app's own root to app's #include path
* fbt: cleaner resolve_real_dir_node

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
hedger
2023-08-10 19:21:56 +03:00
committed by GitHub
parent f75fcd4e34
commit 7178bd20cf
6 changed files with 34 additions and 44 deletions

View File

@@ -11,7 +11,7 @@ from fbt.appmanifest import FlipperApplication, FlipperAppType, FlipperManifestE
from fbt.elfmanifest import assemble_manifest_data
from fbt.fapassets import FileBundler
from fbt.sdk.cache import SdkCache
from fbt.util import extract_abs_dir_path
from fbt.util import resolve_real_dir_node
from SCons.Action import Action
from SCons.Builder import Builder
from SCons.Errors import UserError
@@ -50,7 +50,8 @@ class AppBuilder:
def _setup_app_env(self):
self.app_env = self.fw_env.Clone(
FAP_SRC_DIR=self.app._appdir, FAP_WORK_DIR=self.app_work_dir
FAP_SRC_DIR=self.app._appdir,
FAP_WORK_DIR=self.app_work_dir,
)
self.app_env.VariantDir(self.app_work_dir, self.app._appdir, duplicate=False)
@@ -119,7 +120,7 @@ class AppBuilder:
CPPDEFINES=lib_def.cdefines,
CPPPATH=list(
map(
lambda cpath: extract_abs_dir_path(self.app._appdir.Dir(cpath)),
lambda cpath: resolve_real_dir_node(self.app._appdir.Dir(cpath)),
lib_def.cincludes,
)
),
@@ -133,7 +134,7 @@ class AppBuilder:
def _build_app(self):
self.app_env.Append(
LIBS=[*self.app.fap_libs, *self.private_libs],
CPPPATH=self.app_env.Dir(self.app_work_dir),
CPPPATH=[self.app_env.Dir(self.app_work_dir), self.app._appdir],
)
app_sources = list(