diff options
author | Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> | 2024-02-22 11:29:55 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-02-23 14:29:03 +0000 |
commit | e2f8ed72dd4dc01e2d3a9ce7b1debc0015c623c2 (patch) | |
tree | c271b70664ba73e07390f6a1bce4f6b1e4c34e20 /scripts | |
parent | 82312b2fc1c5f4375eb3a8828592d4d1a5f02e17 (diff) | |
download | poky-e2f8ed72dd4dc01e2d3a9ce7b1debc0015c623c2.tar.gz |
devtool: ide: define compilerPath for meson projects
The compile_commands.json file output by meson uses the compiler as if
present in the $PATH. However, when using an IDE, the $PATH used by
bitbake is not there.
The vscode-cpptools now allows to define the compilerPath in addition
to replace the one from compile_commands.json.
(From OE-Core rev: d9f5c27c8beee07c7cbbed11f5d45058e7315846)
Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/lib/devtool/ide_plugins/ide_code.py | 1 | ||||
-rwxr-xr-x | scripts/lib/devtool/ide_sdk.py | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/scripts/lib/devtool/ide_plugins/ide_code.py b/scripts/lib/devtool/ide_plugins/ide_code.py index f44665ed87..d5e3a4f421 100644 --- a/scripts/lib/devtool/ide_plugins/ide_code.py +++ b/scripts/lib/devtool/ide_plugins/ide_code.py | |||
@@ -194,6 +194,7 @@ class IdeVSCode(IdeBase): | |||
194 | properties_dict["configurationProvider"] = "ms-vscode.cmake-tools" | 194 | properties_dict["configurationProvider"] = "ms-vscode.cmake-tools" |
195 | elif modified_recipe.build_tool is BuildTool.MESON: | 195 | elif modified_recipe.build_tool is BuildTool.MESON: |
196 | properties_dict["configurationProvider"] = "mesonbuild.mesonbuild" | 196 | properties_dict["configurationProvider"] = "mesonbuild.mesonbuild" |
197 | properties_dict["compilerPath"] = os.path.join(modified_recipe.staging_bindir_toolchain, modified_recipe.cxx.split()[0]) | ||
197 | else: # no C/C++ build | 198 | else: # no C/C++ build |
198 | return | 199 | return |
199 | 200 | ||
diff --git a/scripts/lib/devtool/ide_sdk.py b/scripts/lib/devtool/ide_sdk.py index 1467974480..b52b52ae73 100755 --- a/scripts/lib/devtool/ide_sdk.py +++ b/scripts/lib/devtool/ide_sdk.py | |||
@@ -345,6 +345,7 @@ class RecipeModified: | |||
345 | self.base_libdir = recipe_d.getVar('base_libdir') | 345 | self.base_libdir = recipe_d.getVar('base_libdir') |
346 | self.bblayers = recipe_d.getVar('BBLAYERS').split() | 346 | self.bblayers = recipe_d.getVar('BBLAYERS').split() |
347 | self.bpn = recipe_d.getVar('BPN') | 347 | self.bpn = recipe_d.getVar('BPN') |
348 | self.cxx = recipe_d.getVar('CXX') | ||
348 | self.d = recipe_d.getVar('D') | 349 | self.d = recipe_d.getVar('D') |
349 | self.fakerootcmd = recipe_d.getVar('FAKEROOTCMD') | 350 | self.fakerootcmd = recipe_d.getVar('FAKEROOTCMD') |
350 | self.fakerootenv = recipe_d.getVar('FAKEROOTENV') | 351 | self.fakerootenv = recipe_d.getVar('FAKEROOTENV') |
@@ -360,6 +361,8 @@ class RecipeModified: | |||
360 | recipe_d.getVar('RECIPE_SYSROOT')) | 361 | recipe_d.getVar('RECIPE_SYSROOT')) |
361 | self.recipe_sysroot_native = os.path.realpath( | 362 | self.recipe_sysroot_native = os.path.realpath( |
362 | recipe_d.getVar('RECIPE_SYSROOT_NATIVE')) | 363 | recipe_d.getVar('RECIPE_SYSROOT_NATIVE')) |
364 | self.staging_bindir_toolchain = os.path.realpath( | ||
365 | recipe_d.getVar('STAGING_BINDIR_TOOLCHAIN')) | ||
363 | self.staging_incdir = os.path.realpath( | 366 | self.staging_incdir = os.path.realpath( |
364 | recipe_d.getVar('STAGING_INCDIR')) | 367 | recipe_d.getVar('STAGING_INCDIR')) |
365 | self.strip_cmd = recipe_d.getVar('STRIP') | 368 | self.strip_cmd = recipe_d.getVar('STRIP') |