Skip to content

Commit 85e8f03

Browse files
Fix evaluates of presets (#4439)
1 parent 658f54f commit 85e8f03

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Bug Fixes:
2121
- Fixes localization for "workspace is" string. [#4374](https://github.com/microsoft/vscode-cmake-tools/issues/4374)
2222
- Make tooltips for selecting Launch/Debug Target. [#4373](https://github.com/microsoft/vscode-cmake-tools/issues/4373)
2323
- Fix bug where unrelated symlinks are read as variant files [#4304](https://github.com/microsoft/vscode-cmake-tools/issues/4304) [@vitorramos](https://github.com/vitorramos).
24+
- Fix evaluation of conditions in presets. [#4425](https://github.com/microsoft/vscode-cmake-tools/issues/4425)
2425

2526
## 1.20.53
2627

src/presets/preset.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1297,7 +1297,7 @@ export async function expandConfigurePresetVariables(preset: ConfigurePreset, fo
12971297
// Put the preset.environment on top of combined environment in the `__parentEnvironment` field.
12981298
// If for some reason the preset.__parentEnvironment is undefined, default to process.env.
12991299
// NOTE: Based on logic in `tryApplyVsDevEnv`, `preset.__parentEnvironment` should never be undefined at this point.
1300-
const env = EnvironmentUtils.mergePreserveNull([preset.__parentEnvironment ?? process.env, preset.environment]);
1300+
const env = EnvironmentUtils.mergePreserveNull([process.env, preset.__parentEnvironment, preset.environment]);
13011301

13021302
// Expand strings under the context of current preset, also, pass preset.__parentEnvironment as a penvOverride so we include devenv if present.
13031303
// `preset.__parentEnvironment` is allowed to be undefined here because in expansion, it will default to process.env.
@@ -1676,7 +1676,7 @@ async function getBuildPresetInheritsHelper(folder: string, preset: BuildPreset,
16761676
}
16771677

16781678
export async function expandBuildPresetVariables(preset: BuildPreset, name: string, workspaceFolder: string, sourceDir: string, errorHandler?: ExpansionErrorHandler): Promise<BuildPreset> {
1679-
const env = EnvironmentUtils.mergePreserveNull([preset.__parentEnvironment ?? process.env, preset.environment]);
1679+
const env = EnvironmentUtils.mergePreserveNull([process.env, preset.__parentEnvironment, preset.environment]);
16801680

16811681
// Expand strings under the context of current preset
16821682
const expandedPreset: BuildPreset = { name };
@@ -1852,7 +1852,7 @@ async function getTestPresetInheritsHelper(folder: string, preset: TestPreset, w
18521852
}
18531853

18541854
export async function expandTestPresetVariables(preset: TestPreset, name: string, workspaceFolder: string, sourceDir: string, errorHandler?: ExpansionErrorHandler): Promise<TestPreset> {
1855-
const env = EnvironmentUtils.mergePreserveNull([preset.__parentEnvironment ?? process.env, preset.environment]);
1855+
const env = EnvironmentUtils.mergePreserveNull([process.env, preset.__parentEnvironment, preset.environment]);
18561856

18571857
const expandedPreset: TestPreset = { name };
18581858
const expansionOpts: ExpansionOptions = await getExpansionOptions(workspaceFolder, sourceDir, preset, env, preset.__parentEnvironment);
@@ -2066,7 +2066,7 @@ async function getPackagePresetInheritsHelper(folder: string, preset: PackagePre
20662066
}
20672067

20682068
export async function expandPackagePresetVariables(preset: PackagePreset, name: string, workspaceFolder: string, sourceDir: string, errorHandler?: ExpansionErrorHandler): Promise<PackagePreset> {
2069-
const env = EnvironmentUtils.mergePreserveNull([preset.__parentEnvironment ?? process.env, preset.environment]);
2069+
const env = EnvironmentUtils.mergePreserveNull([process.env, preset.__parentEnvironment, preset.environment]);
20702070

20712071
const expandedPreset: PackagePreset = { name };
20722072
// Package presets cannot expand the macro ${generator} so this can't be included in opts

0 commit comments

Comments
 (0)