microsoft / microsoft/vscode-cmake-tools

CMake tools should use build environment in debug and launch

Open
#2,896 4 comments 0 reactions 0 assignees View on GitHub
bug Feature: debug/launch
Dominant language
TypeScript
Stars
1.7k
Forks
546
Avg merge
2d 16h
Merged PRs (30d)
32

Description

### Brief Issue Summary

When using multi-config generators, there are some values that depend on the build configuration. For example, path to dlls based on the build configuration. Currently, it appears that CMake tools only sets variables from the configure preset.

### CMake Tools Diagnostics

```shell
{
"os": "win32",
"vscodeVersion": "1.74.0",
"cmtVersion": "1.13.28",
"configurations": [
{
"folder": "c:\\Users\\calebmagiya\\Documents\\projects\\practice\\cpp\\sample",
"cmakeVersion": "3.24.2",
"configured": true,
"generator": "Ninja",
"usesPresets": true,
"compilers": {
"CXX": "C:/msys64/ucrt64/bin/gcc.exe"
}
}
],
"cpptoolsIntegration": {
"isReady": true,
"hasCodeModel": true,
"activeBuildType": "Release",
"buildTypesSeen": [
"Release"
],
"requests": [
"file:///c%3A/Users/calebmagiya/Documents/projects/practice/cpp/sample/main.cpp"
],
"responses": [
{
"uri": "file:///c%3A/Users/calebmagiya/Documents/projects/practice/cpp/sample/main.cpp",
"configuration": {
"includePath": [],
"defines": [],
"compilerPath": "c:/msys64/ucrt64/bin/gcc.exe",
"compilerArgs": [],
"compilerFragments": []
}
}
],
"partialMatches": [],
"targetCount": 1,
"executablesCount": 1,
"librariesCount": 0,
"targets": [
{
"name": "sample",
"type": "EXECUTABLE"
}
]
},
"settings": [
{
"communicationMode": "automatic",
"useCMakePresets": "auto",
"configureOnOpen": false
}
]
}
```

### Debug Log

```shell
[extension] [2571] cmake.launchTarget started
[main] The folder containing the CMake cache is missing. The cache will be regenerated.
[main] Configuring folder: sample
[main] Saving open files before configure/build
[driver] Start configure
[driver] Running pre-configure checks and steps
[cmakefileapi-driver] Configuring using preset
[cmakefileapi-driver] Invoking CMake C:\Program Files\CMake\bin\cmake.EXE with arguments ["-SC:/Users/calebmagiya/Documents/projects/practice/cpp/sample","-BC:/Users/calebmagiya/Documents/projects/practice/cpp/sample/build/default","-G","Visual Studio 17 2022"]
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" -SC:/Users/calebmagiya/Documents/projects/practice/cpp/sample -BC:/Users/calebmagiya/Documents/projects/practice/cpp/sample/build/default -G "Visual Studio 17 2022"
[proc] with environment: {"ALLUSERSPROFILE":"C:\\ProgramData","ANDROID_SDK_ROOT":"C:\\dev\\android-sdk","APPDATA":"C:\\Users\\calebmagiya\\AppData\\Roaming","ChocolateyInstall":"C:\\ProgramData\\chocolatey","ChocolateyLastPathUpdate":"133108474694752903","ChocolateyToolsLocation":"C:\\tools","CommonProgramFiles":"C:\\Program Files\\Common Files","CommonProgramFiles(x86)":"C:\\Program Files (x86)\\Common Files","CommonProgramW6432":"C:\\Program Files\\Common Files","COMPUTERNAME":"LAPTOP-FTLGGKLC","ComSpec":"C:\\WINDOWS\\system32\\cmd.exe","CONAN_USER_HOME_SHORT":"C:\\dev\\.conan","DriverData":"C:\\Windows\\System32\\Drivers\\DriverData","ELECTRON_RUN_AS_NODE":"1","GOPATH":"C:\\Users\\calebmagiya\\go","HOMEDRIVE":"C:","HOMEPATH":"\\Users\\calebmagiya","JAVA_HOME":"C:\\Program Files\\Microsoft\\jdk-17.0.5.8-hotspot\\","LOCALAPPDATA":"C:\\Users\\calebmagiya\\AppData\\Local","LOGONSERVER":"\\\\LAPTOP-FTLGGKLC","MSYS_ROOT":"C:\\msys64","NEXTHINK":"C:\\Program Files\\Nexthink\\Collector","NUMBER_OF_PROCESSORS":"8","OneDrive":"C:\\Users\\calebmagiya\\OneDrive - Microsoft","OneDriveCommercial":"C:\\Users\\calebmagiya\\OneDrive - Microsoft","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","OS":"Windows_NT","Path":"C:\\Program Files\\Microsoft\\jdk-17.0.5.8-hotspot\\bin;C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\wbin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\dotnet\\;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files (x86)\\MSBuild\\14.0\\Bin;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\150\\Tools\\Binn\\;C:\\Program Files\\Go\\bin;C:\\Program Files (x86)\\Gpg4win\\..\\GnuPG\\bin;C:\\Program Files\\Git\\cmd;C:\\Program Files\\CMake\\bin;C:\\Strawberry\\c\\bin;C:\\Strawberry\\perl\\site\\bin;C:\\Strawberry\\perl\\bin;C:\\dev\\android-sdk\\platform-tools;C:\\dev\\flutter\\bin;;C:\\Program Files\\Docker\\Docker\\resources\\bin;C:\\Users\\calebmagiya\\.cargo\\bin;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Python\\Python310\\Scripts\\;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Python\\Python310\\;C:\\Users\\calebmagiya\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Fiddler;C:\\Users\\calebmagiya\\go\\bin;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\calebmagiya\\AppData\\Local\\JetBrains\\Toolbox\\scripts;C:\\Users\\calebmagiya\\.dotnet\\tools;C:\\Users\\calebmagiya\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\calebmagiya\\AppData\\Local\\nvs\\default;C:\\Users\\calebmagiya\\AppData\\Local\\nvs\\;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\oh-my-posh\\bin;C:\\Program Files (x86)\\Dr. Memory\\bin\\;","PATHEXT":".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC","POSH_THEMES_PATH":"C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\oh-my-posh\\themes","PROCESSOR_ARCHITECTURE":"AMD64","PROCESSOR_IDENTIFIER":"Intel64 Family 6 Model 142 Stepping 12, GenuineIntel","PROCESSOR_LEVEL":"6","PROCESSOR_REVISION":"8e0c","ProgramData":"C:\\ProgramData","ProgramFiles":"C:\\Program Files","ProgramFiles(x86)":"C:\\Program Files (x86)","ProgramW6432":"C:\\Program Files","PSModulePath":"C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules;C:\\Program Files (x86)\\Microsoft Azure Information Protection\\Powershell","PUBLIC":"C:\\Users\\Public","SESSIONNAME":"Console","SystemDrive":"C:","SystemRoot":"C:\\WINDOWS","TEMP":"C:\\Users\\CALEBM~1\\AppData\\Local\\Temp","TMP":"C:\\Users\\CALEBM~1\\AppData\\Local\\Temp","UATDATA":"C:\\Windows\\CCM\\UATData\\D9F8C395-CAB8-491d-B8AC-179A1FE1BE77","USERDNSDOMAIN":"africa.corp.microsoft.com","USERDOMAIN":"AFRICA","USERDOMAIN_ROAMINGPROFILE":"AFRICA","USERNAME":"calebmagiya","USERPROFILE":"C:\\Users\\calebmagiya","VCPKG_DOWNLOADS":"C:\\Users\\calebmagiya\\.vcpkg\\downloads","VS140COMNTOOLS":"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools\\","VSCODE_AMD_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_CODE_CACHE_PATH":"C:\\Users\\calebmagiya\\AppData\\Roaming\\Code\\CachedData\\5235c6bb189b60b01b1f49062f4ffa42384f8c91","VSCODE_CWD":"C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Microsoft VS Code","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"\\\\.\\pipe\\0d6ec62be47c6423f149c98e814ac9cf-1.74.0-main-sock","VSCODE_NLS_CONFIG":"{\"locale\":\"en-ke\",\"availableLanguages\":{},\"_languagePackSupport\":true}","VSCODE_PID":"14448","windir":"C:\\WINDOWS","ZES_ENABLE_SYSMAN":"1","TEST_VAR1":"Config var"}
[cmake] -- The CXX compiler identification is MSVC 19.34.31935.0
[cmake] -- Detecting CXX compiler ABI info
[cmake] -- Detecting CXX compiler ABI info - done
[cmake] -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe - skipped
[cmake] -- Detecting CXX compile features
[cmake] -- Detecting CXX compile features - done
[cmake] -- Configuring done
[cmake] -- Generating done
[cmake] -- Build files have been written to: C:/Users/calebmagiya/Documents/projects/practice/cpp/sample/build/default
[cmakefileapi-parser] Read reply folder: C:\Users\calebmagiya\Documents\projects\practice\cpp\sample\build\default\.cmake\api\v1\reply
[cmakefileapi-parser] Found index files: ["cache-v2-45376e1e0fd1190b10b9.json","cmakeFiles-v1-7ca12174dc0c5d54b42e.json","codemodel-v2-0668e7144e2332ce5b21.json","directory-.-Debug-d0094a50bb2071803777.json","directory-.-MinSizeRel-d0094a50bb2071803777.json","directory-.-Release-d0094a50bb2071803777.json","directory-.-RelWithDebInfo-d0094a50bb2071803777.json","index-2022-12-13T20-43-00-0500.json","target-ALL_BUILD-Debug-6a5e4fc7328d1ff4ece1.json","target-ALL_BUILD-MinSizeRel-6a5e4fc7328d1ff4ece1.json","target-ALL_BUILD-Release-6a5e4fc7328d1ff4ece1.json","target-ALL_BUILD-RelWithDebInfo-6a5e4fc7328d1ff4ece1.json","target-sample-Debug-073621441fabf1c9d320.json","target-sample-MinSizeRel-f38e922b10f896d45542.json","target-sample-Release-53fd8d283487667dd6ce.json","target-sample-RelWithDebInfo-78aa17bef0bbc316cef9.json","target-ZERO_CHECK-Debug-c6c67c2d4186596012ec.json","target-ZERO_CHECK-MinSizeRel-c6c67c2d4186596012ec.json","target-ZERO_CHECK-Release-c6c67c2d4186596012ec.json","target-ZERO_CHECK-RelWithDebInfo-c6c67c2d4186596012ec.json","toolchains-v1-777a92ef48bc79263443.json"]
[cache] Reading CMake cache file C:/Users/calebmagiya/Documents/projects/practice/cpp/sample/build/default/CMakeCache.txt
[cache] Parsing CMake cache string
[main] Building folder: sample sample
[main] Saving open files before configure/build
[build] Starting build
[driver] Start build sample
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --build C:/Users/calebmagiya/Documents/projects/practice/cpp/sample/build/default --config Debug --target sample
[proc] with environment: {"ALLUSERSPROFILE":"C:\\ProgramData","ANDROID_SDK_ROOT":"C:\\dev\\android-sdk","APPDATA":"C:\\Users\\calebmagiya\\AppData\\Roaming","ChocolateyInstall":"C:\\ProgramData\\chocolatey","ChocolateyLastPathUpdate":"133108474694752903","ChocolateyToolsLocation":"C:\\tools","CommonProgramFiles":"C:\\Program Files\\Common Files","CommonProgramFiles(x86)":"C:\\Program Files (x86)\\Common Files","CommonProgramW6432":"C:\\Program Files\\Common Files","COMPUTERNAME":"LAPTOP-FTLGGKLC","ComSpec":"C:\\WINDOWS\\system32\\cmd.exe","CONAN_USER_HOME_SHORT":"C:\\dev\\.conan","DriverData":"C:\\Windows\\System32\\Drivers\\DriverData","ELECTRON_RUN_AS_NODE":"1","GOPATH":"C:\\Users\\calebmagiya\\go","HOMEDRIVE":"C:","HOMEPATH":"\\Users\\calebmagiya","JAVA_HOME":"C:\\Program Files\\Microsoft\\jdk-17.0.5.8-hotspot\\","LOCALAPPDATA":"C:\\Users\\calebmagiya\\AppData\\Local","LOGONSERVER":"\\\\LAPTOP-FTLGGKLC","MSYS_ROOT":"C:\\msys64","NEXTHINK":"C:\\Program Files\\Nexthink\\Collector","NUMBER_OF_PROCESSORS":"8","OneDrive":"C:\\Users\\calebmagiya\\OneDrive - Microsoft","OneDriveCommercial":"C:\\Users\\calebmagiya\\OneDrive - Microsoft","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","OS":"Windows_NT","Path":"C:\\Program Files\\Microsoft\\jdk-17.0.5.8-hotspot\\bin;C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\wbin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\dotnet\\;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files (x86)\\MSBuild\\14.0\\Bin;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\150\\Tools\\Binn\\;C:\\Program Files\\Go\\bin;C:\\Program Files (x86)\\Gpg4win\\..\\GnuPG\\bin;C:\\Program Files\\Git\\cmd;C:\\Program Files\\CMake\\bin;C:\\Strawberry\\c\\bin;C:\\Strawberry\\perl\\site\\bin;C:\\Strawberry\\perl\\bin;C:\\dev\\android-sdk\\platform-tools;C:\\dev\\flutter\\bin;;C:\\Program Files\\Docker\\Docker\\resources\\bin;C:\\Users\\calebmagiya\\.cargo\\bin;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Python\\Python310\\Scripts\\;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Python\\Python310\\;C:\\Users\\calebmagiya\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Fiddler;C:\\Users\\calebmagiya\\go\\bin;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\calebmagiya\\AppData\\Local\\JetBrains\\Toolbox\\scripts;C:\\Users\\calebmagiya\\.dotnet\\tools;C:\\Users\\calebmagiya\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\calebmagiya\\AppData\\Local\\nvs\\default;C:\\Users\\calebmagiya\\AppData\\Local\\nvs\\;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\oh-my-posh\\bin;C:\\Program Files (x86)\\Dr. Memory\\bin\\;","PATHEXT":".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC","POSH_THEMES_PATH":"C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\oh-my-posh\\themes","PROCESSOR_ARCHITECTURE":"AMD64","PROCESSOR_IDENTIFIER":"Intel64 Family 6 Model 142 Stepping 12, GenuineIntel","PROCESSOR_LEVEL":"6","PROCESSOR_REVISION":"8e0c","ProgramData":"C:\\ProgramData","ProgramFiles":"C:\\Program Files","ProgramFiles(x86)":"C:\\Program Files (x86)","ProgramW6432":"C:\\Program Files","PSModulePath":"C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules;C:\\Program Files (x86)\\Microsoft Azure Information Protection\\Powershell","PUBLIC":"C:\\Users\\Public","SESSIONNAME":"Console","SystemDrive":"C:","SystemRoot":"C:\\WINDOWS","TEMP":"C:\\Users\\CALEBM~1\\AppData\\Local\\Temp","TMP":"C:\\Users\\CALEBM~1\\AppData\\Local\\Temp","UATDATA":"C:\\Windows\\CCM\\UATData\\D9F8C395-CAB8-491d-B8AC-179A1FE1BE77","USERDNSDOMAIN":"africa.corp.microsoft.com","USERDOMAIN":"AFRICA","USERDOMAIN_ROAMINGPROFILE":"AFRICA","USERNAME":"calebmagiya","USERPROFILE":"C:\\Users\\calebmagiya","VCPKG_DOWNLOADS":"C:\\Users\\calebmagiya\\.vcpkg\\downloads","VS140COMNTOOLS":"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools\\","VSCODE_AMD_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_CODE_CACHE_PATH":"C:\\Users\\calebmagiya\\AppData\\Roaming\\Code\\CachedData\\5235c6bb189b60b01b1f49062f4ffa42384f8c91","VSCODE_CWD":"C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Microsoft VS Code","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"\\\\.\\pipe\\0d6ec62be47c6423f149c98e814ac9cf-1.74.0-main-sock","VSCODE_NLS_CONFIG":"{\"locale\":\"en-ke\",\"availableLanguages\":{},\"_languagePackSupport\":true}","VSCODE_PID":"14448","windir":"C:\\WINDOWS","ZES_ENABLE_SYSMAN":"1","TEST_VAR1":"Config var","TEST_VAR2":"Debug var"}
[build] MSBuild version 17.4.0+18d5aef85 for .NET Framework
[build] Checking Build System
[build] Building Custom Rule C:/Users/calebmagiya/Documents/projects/practice/cpp/sample/CMakeLists.txt
[build] main.cpp
[build] sample.vcxproj -> C:\Users\calebmagiya\Documents\projects\practice\cpp\sample\build\default\Debug\sample.exe
[cmakefileapi-parser] Read reply folder: C:\Users\calebmagiya\Documents\projects\practice\cpp\sample\build\default\.cmake\api\v1\reply
[cmakefileapi-parser] Found index files: ["cache-v2-45376e1e0fd1190b10b9.json","cmakeFiles-v1-7ca12174dc0c5d54b42e.json","codemodel-v2-0668e7144e2332ce5b21.json","directory-.-Debug-d0094a50bb2071803777.json","directory-.-MinSizeRel-d0094a50bb2071803777.json","directory-.-Release-d0094a50bb2071803777.json","directory-.-RelWithDebInfo-d0094a50bb2071803777.json","index-2022-12-13T20-43-00-0500.json","target-ALL_BUILD-Debug-6a5e4fc7328d1ff4ece1.json","target-ALL_BUILD-MinSizeRel-6a5e4fc7328d1ff4ece1.json","target-ALL_BUILD-Release-6a5e4fc7328d1ff4ece1.json","target-ALL_BUILD-RelWithDebInfo-6a5e4fc7328d1ff4ece1.json","target-sample-Debug-073621441fabf1c9d320.json","target-sample-MinSizeRel-f38e922b10f896d45542.json","target-sample-Release-53fd8d283487667dd6ce.json","target-sample-RelWithDebInfo-78aa17bef0bbc316cef9.json","target-ZERO_CHECK-Debug-c6c67c2d4186596012ec.json","target-ZERO_CHECK-MinSizeRel-c6c67c2d4186596012ec.json","target-ZERO_CHECK-Release-c6c67c2d4186596012ec.json","target-ZERO_CHECK-RelWithDebInfo-c6c67c2d4186596012ec.json","toolchains-v1-777a92ef48bc79263443.json"]
[build] Build finished with exit code 0
[cache] Reading CMake cache file C:/Users/calebmagiya/Documents/projects/practice/cpp/sample/build/default/CMakeCache.txt
[cache] Parsing CMake cache string
[extension] [2571] cmake.launchTarget finished (returned {"name":"CMake/Launch - sample","processId":{},"creationOptions":{"name":"CMake/Launch - sample","env":{"ALLUSERSPROFILE":"C:\\ProgramData","ANDROID_SDK_ROOT":"C:\\dev\\android-sdk","APPDATA":"C:\\Users\\calebmagiya\\AppData\\Roaming","ChocolateyInstall":"C:\\ProgramData\\chocolatey","ChocolateyLastPathUpdate":"133108474694752903","ChocolateyToolsLocation":"C:\\tools","CommonProgramFiles":"C:\\Program Files\\Common Files","CommonProgramFiles(x86)":"C:\\Program Files (x86)\\Common Files","CommonProgramW6432":"C:\\Program Files\\Common Files","COMPUTERNAME":"LAPTOP-FTLGGKLC","ComSpec":"C:\\WINDOWS\\system32\\cmd.exe","CONAN_USER_HOME_SHORT":"C:\\dev\\.conan","DriverData":"C:\\Windows\\System32\\Drivers\\DriverData","ELECTRON_RUN_AS_NODE":"1","GOPATH":"C:\\Users\\calebmagiya\\go","HOMEDRIVE":"C:","HOMEPATH":"\\Users\\calebmagiya","JAVA_HOME":"C:\\Program Files\\Microsoft\\jdk-17.0.5.8-hotspot\\","LOCALAPPDATA":"C:\\Users\\calebmagiya\\AppData\\Local","LOGONSERVER":"\\\\LAPTOP-FTLGGKLC","MSYS_ROOT":"C:\\msys64","NEXTHINK":"C:\\Program Files\\Nexthink\\Collector","NUMBER_OF_PROCESSORS":"8","OneDrive":"C:\\Users\\calebmagiya\\OneDrive - Microsoft","OneDriveCommercial":"C:\\Users\\calebmagiya\\OneDrive - Microsoft","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","OS":"Windows_NT","Path":"C:\\Program Files\\Microsoft\\jdk-17.0.5.8-hotspot\\bin;C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\wbin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\dotnet\\;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files (x86)\\MSBuild\\14.0\\Bin;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\150\\Tools\\Binn\\;C:\\Program Files\\Go\\bin;C:\\Program Files (x86)\\Gpg4win\\..\\GnuPG\\bin;C:\\Program Files\\Git\\cmd;C:\\Program Files\\CMake\\bin;C:\\Strawberry\\c\\bin;C:\\Strawberry\\perl\\site\\bin;C:\\Strawberry\\perl\\bin;C:\\dev\\android-sdk\\platform-tools;C:\\dev\\flutter\\bin;;C:\\Program Files\\Docker\\Docker\\resources\\bin;C:\\Users\\calebmagiya\\.cargo\\bin;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Python\\Python310\\Scripts\\;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Python\\Python310\\;C:\\Users\\calebmagiya\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Fiddler;C:\\Users\\calebmagiya\\go\\bin;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\calebmagiya\\AppData\\Local\\JetBrains\\Toolbox\\scripts;C:\\Users\\calebmagiya\\.dotnet\\tools;C:\\Users\\calebmagiya\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\calebmagiya\\AppData\\Local\\nvs\\default;C:\\Users\\calebmagiya\\AppData\\Local\\nvs\\;C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\oh-my-posh\\bin;C:\\Program Files (x86)\\Dr. Memory\\bin\\;","PATHEXT":".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC","POSH_THEMES_PATH":"C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\oh-my-posh\\themes","PROCESSOR_ARCHITECTURE":"AMD64","PROCESSOR_IDENTIFIER":"Intel64 Family 6 Model 142 Stepping 12, GenuineIntel","PROCESSOR_LEVEL":"6","PROCESSOR_REVISION":"8e0c","ProgramData":"C:\\ProgramData","ProgramFiles":"C:\\Program Files","ProgramFiles(x86)":"C:\\Program Files (x86)","ProgramW6432":"C:\\Program Files","PSModulePath":"C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules;C:\\Program Files (x86)\\Microsoft Azure Information Protection\\Powershell","PUBLIC":"C:\\Users\\Public","SESSIONNAME":"Console","SystemDrive":"C:","SystemRoot":"C:\\WINDOWS","TEMP":"C:\\Users\\CALEBM~1\\AppData\\Local\\Temp","TMP":"C:\\Users\\CALEBM~1\\AppData\\Local\\Temp","UATDATA":"C:\\Windows\\CCM\\UATData\\D9F8C395-CAB8-491d-B8AC-179A1FE1BE77","USERDNSDOMAIN":"africa.corp.microsoft.com","USERDOMAIN":"AFRICA","USERDOMAIN_ROAMINGPROFILE":"AFRICA","USERNAME":"calebmagiya","USERPROFILE":"C:\\Users\\calebmagiya","VCPKG_DOWNLOADS":"C:\\Users\\calebmagiya\\.vcpkg\\downloads","VS140COMNTOOLS":"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools\\","VSCODE_AMD_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_CODE_CACHE_PATH":"C:\\Users\\calebmagiya\\AppData\\Roaming\\Code\\CachedData\\5235c6bb189b60b01b1f49062f4ffa42384f8c91","VSCODE_CWD":"C:\\Users\\calebmagiya\\AppData\\Local\\Programs\\Microsoft VS Code","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"\\\\.\\pipe\\0d6ec62be47c6423f149c98e814ac9cf-1.74.0-main-sock","VSCODE_NLS_CONFIG":"{\"locale\":\"en-ke\",\"availableLanguages\":{},\"_languagePackSupport\":true}","VSCODE_PID":"14448","windir":"C:\\WINDOWS","ZES_ENABLE_SYSMAN":"1","TEST_VAR1":"Config var","_CMAKE_TOOLS_LAUNCH_TERMINAL_TARGET_NAME":"sample","_CMAKE_TOOLS_LAUNCH_TERMINAL_PATH":"C:\\Users\\calebmagiya\\AppData\\Local\\Microsoft\\WindowsApps\\Microsoft.PowerShell_8wekyb3d8bbwe\\pwsh.exe"},"cwd":"C:\\Users\\calebmagiya\\Documents\\projects\\practice\\cpp\\sample\\build\\default\\Debug"},"state":{"isInteractedWith":true},"dimensions":{"columns":165,"rows":18},"isPatched":true})
```

### Additional Information

CMakePresets.json
```json
{
"version": 3,
"configurePresets": [
{
"name": "default",
"generator": "Visual Studio 17 2022",
"binaryDir": "${sourceDir}/build/${presetName}",
"environment": {
"TEST_VAR1": "Config var"
}
}
],
"buildPresets": [
{
"name": "default-debug",
"configurePreset": "default",
"configuration": "Debug",
"environment": {
"TEST_VAR2": "Debug var"
}
}
]
}
```
main.cpp
```cpp
#include
#include

int main() {
auto var1 = std::getenv("TEST_VAR1");
auto var2 = std::getenv("TEST_VAR2");
std::cout << "TEST_VAR1: " << (var1 ? var1 : "NULL") << '\n';
std::cout << "TEST_VAR2: " << (var2 ? var2 : "NULL") << '\n';
return 0;
}
```

Expected output
```
TEST_VAR1: Config var
TEST_VAR2: Debug var
```

Actual output
```
TEST_VAR1: Config var
TEST_VAR2: NULL
```

Contributor guide

Open the contributing guide

Research direction

Start by tracing CMake Tools' configure, build, debug, and launch handling for multi-config generators and presets. Reproduce the Visual Studio example from the diagnostics, then verify that debug and launch use the selected build configuration's environment rather than only the configure preset environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, typescript
Domain
build-system, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.