microsoft / microsoft/vscode-cmake-tools
CMake tools should use build environment in debug and 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
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