microsoft / microsoft/vscode-cmake-tools

[FR] `Install` button -> to perform (configure, build and install actions) automatically

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

Description

### Brief Issue Summary

Normally when building a project all we need is to create a CMake Configure preset and hit the `Build` button in the Status bar and we get the result. But sometimes it is necessary to also install the project to a location to get a meaningful running build.

In the case of the `Libc++` library since recently to get to a proper result when using it with Visual Studio Code (this is a one possible use case) it is necessary to create a CMake configure preset, set the install directory (e.g. "installDir"), setup an install task:

```json
{
"version": "2.0.0",
"tasks": [
{
"type": "cmake",
"label": "CMake: install",
"command": "install",
"preset": "${command:cmake.activeBuildPresetName}",
"problemMatcher": [],
"detail": "CMake template install task"
}
]
}
```
execute that install task to get the built right where it is needed.

Can we have this automated? Next to the `Build` button in the status bar - an `Install` button that performs the build, and install tasks automatically without the manual setup? This seems a common enough use case so it can be a VS CMake Tools feature, can it be done?

I'd consider this an extension to this already implemented feature: https://github.com/microsoft/vscode-cmake-tools/issues/532

Contributor guide

Open the contributing guide

Research direction

Start by tracing the existing status-bar Build action and the CMake install-task handling, then review the related feature in issue #532. Done means an Install button can automatically perform the build and install flow using the active CMake preset, without manual task setup.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.