[PR #15010] [MERGED] Enable the Hybrid CRT for all C++ projects #30342

Open
opened 2026-01-31 09:40:13 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/15010
Author: @DHowett
Created: 3/17/2023
Status: Merged
Merged: 3/17/2023
Merged by: @DHowett

Base: mainHead: dev/duhowett/hybrid-crt-by-default-now


📝 Commits (10+)

  • fb29453 Enable the Hybrid CRT by default
  • 324b687 What if we had no dependencies...
  • 6a1b1d9 i am good at this
  • a54f76e More things
  • 388253e Revert "What if we had no dependencies..."
  • 5fdc5e6 Disable Hybrid for Fuzzing/Audit
  • d9f9a05 Clarify the comment
  • 18cc8dd Okay, why was audit mode building and linking release components
  • 9508a05 Revert "Okay, why was audit mode building and linking release components"
  • 9ad6205 auuughhhhh

📊 Changes

2 files changed (+15 additions, -1 deletions)

View changed files

📝 src/common.build.post.props (+1 -1)
📝 src/common.build.pre.props (+14 -0)

📄 Description

The less we need the C++ runtime, the better.

As of 1.17, I measured this as growing our package by a fair amount...
but less than the size of XamlHost and all the forwarders combined.

Reducing our dependency surface makes us easier to deploy and more reliable.

as of 1.17 (2022-10)

File Before After Delta
OpenConsole 1,273,344 1,359,360 +86,016 (84kb)
TerminalApp 2,037,248 2,120,704 +83,456 (82kb)
TerminalControl 1,412,608 1,502,720 +90,112 (88kb)
TerminalSettingsModel 1,510,912 1,621,504 +110,592 (108kb)
wt 97,280 122,368 +25,088 (25kb)
WindowsTerminal 508,928 575,488 +66,560 (65kb)
MSIX Overall 6,488,301 6,799,017 +310,716 (303kb)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/15010 **Author:** [@DHowett](https://github.com/DHowett) **Created:** 3/17/2023 **Status:** ✅ Merged **Merged:** 3/17/2023 **Merged by:** [@DHowett](https://github.com/DHowett) **Base:** `main` ← **Head:** `dev/duhowett/hybrid-crt-by-default-now` --- ### 📝 Commits (10+) - [`fb29453`](https://github.com/microsoft/terminal/commit/fb29453f5157f89fe31b10f0f9b4e58439b131f8) Enable the Hybrid CRT by default - [`324b687`](https://github.com/microsoft/terminal/commit/324b6879df81f2754b7ae86aab21f2d0fa7a2a8a) What if we had no dependencies... - [`6a1b1d9`](https://github.com/microsoft/terminal/commit/6a1b1d98aaa4405c9c145ca0f4c0c2438ddad5e2) i am good at this - [`a54f76e`](https://github.com/microsoft/terminal/commit/a54f76ecca1d6996ffdd87562212b5fd1201341b) More things - [`388253e`](https://github.com/microsoft/terminal/commit/388253e44ace6f118ffa879cf803f484b274b081) Revert "What if we had no dependencies..." - [`5fdc5e6`](https://github.com/microsoft/terminal/commit/5fdc5e62f1c9d610b31d6d500515370c0fa34377) Disable Hybrid for Fuzzing/Audit - [`d9f9a05`](https://github.com/microsoft/terminal/commit/d9f9a050ee175bb89346a9f7718a4fca50cf290b) Clarify the comment - [`18cc8dd`](https://github.com/microsoft/terminal/commit/18cc8dd0ef469608b8bc6bf0d50ed01c88879080) Okay, why was audit mode building and linking release components - [`9508a05`](https://github.com/microsoft/terminal/commit/9508a0542bee5ffb7064a87d95ffe0eebee36a84) Revert "Okay, why was audit mode building and linking release components" - [`9ad6205`](https://github.com/microsoft/terminal/commit/9ad6205817dda2d28a2a5af1f7d7944340394ee6) auuughhhhh ### 📊 Changes **2 files changed** (+15 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `src/common.build.post.props` (+1 -1) 📝 `src/common.build.pre.props` (+14 -0) </details> ### 📄 Description The less we need the C++ runtime, the better. As of 1.17, I measured this as growing our package by a fair amount... but less than the size of XamlHost and all the forwarders combined. Reducing our dependency surface makes us easier to deploy and more reliable. _as of 1.17 (2022-10)_ | **File** | **Before** | **After** | **Delta** | | ----------------------- | ----------:| ---------:| ----------------:| | `OpenConsole` | 1,273,344 | 1,359,360 | +86,016 (84kb) | | `TerminalApp` | 2,037,248 | 2,120,704 | +83,456 (82kb) | | `TerminalControl` | 1,412,608 | 1,502,720 | +90,112 (88kb) | | `TerminalSettingsModel` | 1,510,912 | 1,621,504 | +110,592 (108kb) | | `wt` | 97,280 | 122,368 | +25,088 (25kb) | | `WindowsTerminal` | 508,928 | 575,488 | +66,560 (65kb) | | **MSIX Overall** | 6,488,301 | 6,799,017 | +310,716 (303kb) | --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:40:13 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#30342