microsoft / microsoft/vscode-cmake-tools

Visual Studio Generator - packagePresets: Use multi-configuration builds

Open
#4,096 6 comments 1 reaction 0 assignees View on GitHub
bug Feature: presets
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.