summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorEnguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>2024-02-22 11:29:55 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-02-23 14:29:03 +0000
commite2f8ed72dd4dc01e2d3a9ce7b1debc0015c623c2 (patch)
treec271b70664ba73e07390f6a1bce4f6b1e4c34e20 /scripts
parent82312b2fc1c5f4375eb3a8828592d4d1a5f02e17 (diff)
downloadpoky-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.py1
-rwxr-xr-xscripts/lib/devtool/ide_sdk.py3
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')