Skip to content
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## 1.24

Features:
- Add support for the FASTBuild generator (CMake 4.2+). [#4690](https://github.com/microsoft/vscode-cmake-tools/pull/4690)

Bug Fixes:
- Update testing framework to fix bugs when running tests of CMake Tools without a reliable internet connection. [#4891](https://github.com/microsoft/vscode-cmake-tools/pull/4891) [@cwalther](https://github.com/cwalther)

Expand Down
1 change: 1 addition & 0 deletions docs/configure.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ The following concepts will help you understand how CMake Tools interacts with C
|Generator |Description|
|---------|---------|
|Ninja | Emits files for the [Ninja build tool](https://ninja-build.org). This is the generator CMake Tools tries first, unless configured otherwise. See [cmake.preferredGenerators](cmake-settings.md#cmake-settings). |
|FASTBuild | Emits files for the [FASTBuild build tool](https://www.fastbuild.org/). Requires CMake 4.2+. |
|Makefile | Emits a `Makefile` for the project that can be built via `make`.|
|Visual Studio | Emits visual studio solutions and project files. There are many different Visual Studio generators, so it is recommended to let CMake Tools automatically determine the appropriate generator.|

Expand Down
7 changes: 6 additions & 1 deletion src/drivers/cmakeDriver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1062,7 +1062,8 @@ export abstract class CMakeDriver implements vscode.Disposable {
isCommonGenerator(genName: string): boolean {
return genName === 'Ninja' || genName === 'Ninja Multi-Config' ||
genName === 'MinGW Makefiles' || genName === 'NMake Makefiles' ||
genName === 'Unix Makefiles' || genName === 'MSYS Makefiles';
genName === 'Unix Makefiles' || genName === 'MSYS Makefiles' ||
genName === 'FASTBuild';
}

/**
Expand All @@ -1078,6 +1079,9 @@ export abstract class CMakeDriver implements vscode.Disposable {
if (gen_name === 'Ninja' || gen_name === 'Ninja Multi-Config') {
return await this.testHaveCommand('ninja') || this.testHaveCommand('ninja-build');
}
if (gen_name === 'FASTBuild') {
return this.testHaveCommand('fbuild');
}
if (gen_name === 'MinGW Makefiles') {
return platform === 'win32' && this.testHaveCommand('mingw32-make');
}
Expand Down Expand Up @@ -1472,6 +1476,7 @@ export abstract class CMakeDriver implements vscode.Disposable {
"Unix Makefiles",
"Ninja",
"Ninja Multi-Config",
"FASTBuild",
"Watcom WMake",
"CodeBlocks - MinGW Makefiles",
"CodeBlocks - NMake Makefiles",
Expand Down
Loading