diff options
| author | Orkun Tokdemir <orkun.tokdemir@qt.io> | 2024-10-07 15:38:25 +0200 |
|---|---|---|
| committer | Orkun Tokdemir <orkun.tokdemir@qt.io> | 2024-10-23 14:19:40 +0000 |
| commit | fa22146588d33c5e911452bef0d16b7019a26336 (patch) | |
| tree | 3f49a910c581f65e61b7c2127818d662cb5ff020 /qt-cpp | |
| parent | e2fd5ea1e746880b51d42d6246513206c23bd12b (diff) | |
Add vcpkg support
* Update package.json & add `command-exists`
* Add kit generation for vcpkg
Task-number: VSCODEEXT-93
Change-Id: Iaae7c5b1cf1afc07a74544ad1840b13e3dba0350
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Diffstat (limited to 'qt-cpp')
| -rw-r--r-- | qt-cpp/src/kit-manager.ts | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/qt-cpp/src/kit-manager.ts b/qt-cpp/src/kit-manager.ts index 3ec98eb..5403611 100644 --- a/qt-cpp/src/kit-manager.ts +++ b/qt-cpp/src/kit-manager.ts @@ -20,7 +20,8 @@ import { QtInfo, QtAdditionalPath, generateDefaultQtPathsName, - IsWindows + IsWindows, + getVCPKGRoot } from 'qt-lib'; import * as qtPath from '@util/get-qt-paths'; import { CppProject } from '@/project'; @@ -323,13 +324,10 @@ export class KitManager { const isQt6 = version?.startsWith('6') ?? false; if (isQt6) { - const toolchainFile = path.join( - libs, - 'cmake', - 'Qt6', - `qt.toolchain.cmake` - ); - if (!fsSync.existsSync(toolchainFile)) { + const toolchainFile = qtInfo.isVCPKG + ? KitManager.getVCPKGToolchainFile() + : path.join(libs, 'cmake', 'Qt6', `qt.toolchain.cmake`); + if (!toolchainFile || !fsSync.existsSync(toolchainFile)) { const warn = `Toolchain file not found: ${toolchainFile}`; void vscode.window.showWarningMessage(warn); logger.error(warn); @@ -808,6 +806,13 @@ export class KitManager { coreAPI?.getValue<QtAdditionalPath[]>(folder, AdditionalQtPathsName) ?? [] ); } + private static getVCPKGToolchainFile() { + const vckpgRoot = getVCPKGRoot(); + if (!vckpgRoot) { + return undefined; + } + return path.join(vckpgRoot, 'scripts', 'buildsystems', 'vcpkg.cmake'); + } } export function getCurrentGlobalQtInstallationRoot(): string { return coreAPI?.getValue<string>(GlobalWorkspace, QtInsRootConfigName) ?? ''; |
