You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,7 @@ Features:
6
6
- Add support for the FASTBuild generator (CMake 4.2+). [#4690](https://github.com/microsoft/vscode-cmake-tools/pull/4690)
7
7
- Add support for `${workspaceFolder}`, `${workspaceFolder:name}` variables and relative paths in `cmake.exclude` setting for multi-root workspaces. [#4689](https://github.com/microsoft/vscode-cmake-tools/pull/4689)
8
8
- Add `onConfigureResult` event to the CMake Tools API that fires after every configure attempt (success or failure), allowing dependent extensions to detect and react to configure failures. [#4021](https://github.com/microsoft/vscode-cmake-tools/issues/4021)
9
+
- Add `cmake.preConfigureTask` setting to execute a named VS Code task before every CMake configure. [#4960](https://github.com/microsoft/vscode-cmake-tools/pull/4960)[@erdemiru](https://github.com/erdemiru)
9
10
10
11
Improvements:
11
12
- Reduce CI pipeline time by parallelizing E2E test jobs and adding build artifact caching.
Copy file name to clipboardExpand all lines: docs/cmake-settings.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,6 +31,7 @@ Options that support substitution, in the table below, allow variable references
31
31
|`cmake.cmakeProviderExtensions`| List of VS Code extension IDs that provide or install their own CMake binary. When CMake is not found during automatic configure-on-open and one of these extensions is installed, CMake Tools will briefly poll for CMake availability instead of showing an immediate error. Set to an empty array to disable this behavior. |`["stmicroelectronics.stm32-vscode-extension", "espressif.esp-idf-extension", "NXPSemiconductors.mcuxpresso", "nordic-semiconductor.nrf-connect"]`| no |
32
32
|`cmake.configureSettings`| An object containing `key:value` pairs, which will be passed to CMake when configuring. The same as passing `-DVAR_NAME=ON` via `cmake.configureArgs`. NOTE: Semicolons (`;`) in string values are passed through to CMake verbatim, CMake itself decides whether to treat them as list separators (matching how CMake Presets `cacheVariables` and `cmake-kits.json``cmakeSettings` behave). To pass a CMake list, you can either use array notation (e.g. `"MY_LIST": [ "a", "b" ]`) or write the list as a string with `;` separators (e.g. `"MY_LIST": "a;b"`). If you genuinely need a literal `;` inside a single list element, pre-escape it as `\;` in your JSON. |`{}` (no values) | yes |
33
33
|`cmake.copyCompileCommands`| If not `null`, copies the `compile_commands.json` file generated by CMake to the path specified by this setting whenever CMake successfully configures. |`null` (do not copy the file) | yes |
34
+
|`cmake.preConfigureTask`| If not `null`, the task with this name is executed before CMake configures. |`null` (do not run any task) | yes |
34
35
|`cmake.postConfigureTask`| If not `null`, the task with this name is executed whenever CMake successfully configures. |`null` (do not run any task) | yes |
35
36
|`cmake.coverageInfoFiles`| LCOV coverage info files to be processed after running tests with coverage using the test explorer. |`[]`| yes |
36
37
|`cmake.cpackArgs`| An array of additional arguments to pass to cpack. |`[]`| yes |
Copy file name to clipboardExpand all lines: package.nls.json
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -272,6 +272,7 @@
272
272
"cmake-tools.configuration.cmake.emscriptenSearchDirs.description": "Directories where Emscripten may be installed.",
273
273
"cmake-tools.configuration.cmake.mergedCompileCommands.description": "Recursively collect and merge all compile_commands.json found in the cmake.buildDirectory.",
274
274
"cmake-tools.configuration.cmake.copyCompileCommands.description": "Copy compile_commands.json to this location after a successful configure.",
275
+
"cmake-tools.configuration.cmake.preConfigureTask.description": "If set, this named task will be executed before CMake configure. Note that chaining the pre-configure task with other tasks in tasks.json may lead to multiple executions of the pre-configure task",
275
276
"cmake-tools.configuration.cmake.postConfigureTask.description": "If set, this named task will be executed after a successful CMake configure.",
276
277
"cmake-tools.configuration.cmake.configureOnOpen.description": "Automatically configure CMake project directories when they are opened.",
277
278
"cmake-tools.configuration.cmake.configureOnEdit.description": "Automatically configure CMake project directories when cmake.sourceDirectory or CMakeLists.txt content are saved.",
0 commit comments