From patchwork Sun Oct 25 20:09:48 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: AdrianF X-Patchwork-Id: 101923 Received: from mta-65-228.siemens.flowmailer.net (mta-65-228.siemens.flowmailer.net [185.136.65.228]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.29487.1792958995988334751 for ; Sun, 25 Oct 2026 13:09:57 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=adrian.freihofer@siemens.com header.s=fm2 header.b=p4YzyCai; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.228, mailfrom: fm-1329275-2026102520095193bc58adac0002072d-bsdtf1@rts-flowmailer.siemens.com) Received: by mta-65-228.siemens.flowmailer.net with ESMTPSA id 2026102520095193bc58adac0002072d for ; Sun, 25 Oct 2026 21:09:52 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm2; d=siemens.com; i=adrian.freihofer@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc; bh=asCLGx6grtAKNx1eRJG9VQLgtuJpeVCd1yGw7ComOsE=; b=p4YzyCaiZhUOCY7x8DV8fW5PNiD4mrQKsZtrHbA28kpFMQSxgDLmczEUgevbvhkiBEsvF3 V4K+IfH+IUR0oJlHDTnJpyDYUiJVDaXsrNyke7geFX+/zp+wqfjNkp2U9YZfxzh1yrsXwNhF yPWz30w5TwGKyXrx0t9dXDCyGVMkuKG1lt332/q9a7EqF3m333Wj6/lmeM8X7KDj5C0hO/ku quz2t8x6rKWNtVWjbAuBZaK6w/ssWZ8gP7JisHNoO7RscV7ZmhF/ydijh2g5bF3R8z7BuIrl SyUwOaGRszP9Z/eNLRpFzrrm9Xv4GvprkFyhaS/VyQECb9ZRf+plyF+g==; From: AdrianF To: openembedded-core@lists.openembedded.org Cc: Adrian Freihofer Subject: [PATCH 1/2] devtool: ide-sdk: honor XDG_DATA_HOME for the CMake kits Date: Sun, 25 Oct 2026 21:09:48 +0100 Message-ID: <20261025200949.1757990-1-adrian.freihofer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1329275:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Sun, 25 Oct 2026 20:10:02 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/248627 From: Adrian Freihofer CMake Tools reads its user kits from XDG_DATA_HOME/CMakeTools if XDG_DATA_HOME is set and only falls back to ~/.local/share/CMakeTools. The shared sysroot mode always wrote to the fallback location, so the kit was not found by CMake Tools if XDG_DATA_HOME is set. Use the same location as CMake Tools. Signed-off-by: Adrian Freihofer --- scripts/lib/devtool/ide_plugins/ide_code.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/lib/devtool/ide_plugins/ide_code.py b/scripts/lib/devtool/ide_plugins/ide_code.py index 081dc08657..39356dcfb1 100644 --- a/scripts/lib/devtool/ide_plugins/ide_code.py +++ b/scripts/lib/devtool/ide_plugins/ide_code.py @@ -77,6 +77,7 @@ class IdeVSCode(IdeBase): A workspace cannot be created because there is no recipe that defines how a workspace could be set up. - cmake: adds a cmake-kit to .local/share/CMakeTools/cmake-tools-kits.json + (below XDG_DATA_HOME instead of .local/share if it is set) The cmake-kit uses the environment script and the tool-chain file generated by meta-ide-support. - meson: Meson needs manual workspace configuration. @@ -95,8 +96,10 @@ class IdeVSCode(IdeBase): deploy_dir_image = shared_env.ide_support.deploy_dir_image real_multimach_target_sys = shared_env.ide_support.real_multimach_target_sys standalone_sysroot_native = shared_env.build_sysroots.standalone_sysroot_native - vscode_ws_path = os.path.join( - os.environ['HOME'], '.local', 'share', 'CMakeTools') + # CMake Tools stores its user data in XDG_DATA_HOME, if it is set + data_home = os.environ.get('XDG_DATA_HOME') or os.path.join( + os.environ['HOME'], '.local', 'share') + vscode_ws_path = os.path.join(data_home, 'CMakeTools') cmake_kits_path = os.path.join(vscode_ws_path, 'cmake-tools-kits.json') oecmake_generator = "Ninja" env_script = os.path.join(