microsoft / microsoft/vscode-cmake-tools
Visual Studio Generator - packagePresets: Use multi-configuration builds
- Dominant language
- TypeScript
- Stars
- 1.7k
- Forks
- 546
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 32
Description
### Brief Issue Summary
It is possible to pass multiple build configurations via a `packagePresets`. But CPack is run with the selected `buildPresets` and additionaly with the given configurations: `[proc] Executing command: C:/msys64/ucrt64/bin/cpack.exe -C Release -C "Debug;Release" -B NuGet`
The package preset:
```json
"packagePresets": [
{
"name": "windows-x64-nuget",
"displayName": "NuGet Package",
"description": "Create a NuGet Package",
"configurePreset": "default",
"inheritConfigureEnvironment": true,
"packageDirectory": "NuGet",
"configurations": ["Debug", "Release"]
}
],
```
CMake Tools should run a build with "Release" and "Debug", but it only runs for "Debug". Hence packaging fails, as "Release" build is missing.
### CMake Tools Diagnostics
_No response_
### Debug Log
_No response_
### Additional Information
_No response_
Contributor guide
Research direction
Trace how packagePresets configurations are read and how the selected buildPresets configuration is passed to CPack. Check the existing build and packaging tests first, then verify that a package preset with both Debug and Release causes both configurations to be built before packaging succeeds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, typescript
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100