Skip to content

Commit 43d72b5

Browse files
Copilotsnehara99
andauthored
Add support for FASTBuild generator (CMake 4.2+) (#4690)
* Initial plan * Add support for FASTBuild generator (CMake 4.2+) Co-authored-by: snehara99 <[email protected]> * Add await keyword for testHaveCommand call in FASTBuild check Co-authored-by: snehara99 <[email protected]> * Fix linting error: remove redundant await on return value Co-authored-by: snehara99 <[email protected]> * Update CHANGELOG to link to PR #4690 instead of issue #4663 Co-authored-by: snehara99 <[email protected]> * updated docs to include fastbuild * updated changelog entry to 1.24 --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: snehara99 <[email protected]> Co-authored-by: Sneha Ramachandran <[email protected]>
1 parent 103f40f commit 43d72b5

3 files changed

Lines changed: 10 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## 1.24
44

5+
Features:
6+
- Add support for the FASTBuild generator (CMake 4.2+). [#4690](https://github.com/microsoft/vscode-cmake-tools/pull/4690)
7+
58
Bug Fixes:
69
- 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)
710

docs/configure.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ The following concepts will help you understand how CMake Tools interacts with C
1616
|Generator |Description|
1717
|---------|---------|
1818
|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). |
19+
|FASTBuild | Emits files for the [FASTBuild build tool](https://www.fastbuild.org/). Requires CMake 4.2+. |
1920
|Makefile | Emits a `Makefile` for the project that can be built via `make`.|
2021
|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.|
2122

src/drivers/cmakeDriver.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1062,7 +1062,8 @@ export abstract class CMakeDriver implements vscode.Disposable {
10621062
isCommonGenerator(genName: string): boolean {
10631063
return genName === 'Ninja' || genName === 'Ninja Multi-Config' ||
10641064
genName === 'MinGW Makefiles' || genName === 'NMake Makefiles' ||
1065-
genName === 'Unix Makefiles' || genName === 'MSYS Makefiles';
1065+
genName === 'Unix Makefiles' || genName === 'MSYS Makefiles' ||
1066+
genName === 'FASTBuild';
10661067
}
10671068

10681069
/**
@@ -1078,6 +1079,9 @@ export abstract class CMakeDriver implements vscode.Disposable {
10781079
if (gen_name === 'Ninja' || gen_name === 'Ninja Multi-Config') {
10791080
return await this.testHaveCommand('ninja') || this.testHaveCommand('ninja-build');
10801081
}
1082+
if (gen_name === 'FASTBuild') {
1083+
return this.testHaveCommand('fbuild');
1084+
}
10811085
if (gen_name === 'MinGW Makefiles') {
10821086
return platform === 'win32' && this.testHaveCommand('mingw32-make');
10831087
}
@@ -1472,6 +1476,7 @@ export abstract class CMakeDriver implements vscode.Disposable {
14721476
"Unix Makefiles",
14731477
"Ninja",
14741478
"Ninja Multi-Config",
1479+
"FASTBuild",
14751480
"Watcom WMake",
14761481
"CodeBlocks - MinGW Makefiles",
14771482
"CodeBlocks - NMake Makefiles",

0 commit comments

Comments
 (0)