60 lines
2.6 KiB
Markdown
60 lines
2.6 KiB
Markdown
|
|
# How to build OpenConsole
|
|
|
|
This repository uses [git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) for some of its dependencies. To make sure submodules are restored or updated, be sure to run the following prior to building:
|
|
|
|
```shell
|
|
git submodule update --init --recursive
|
|
```
|
|
|
|
OpenConsole.sln may be built from within Visual Studio or from the command-line using a set of convenience scripts & tools in the **/tools** directory:
|
|
|
|
When using Visual Studio, be sure to set up the path for code formatting. This can be done in Visual Studio by going to Tools > Options > Text Editor > C++ > Formatting and checking "Use custom clang-format.exe file" and choosing the clang-format.exe in the repository at /dep/llvm/clang-format.exe by clicking "browse" right under the check box.
|
|
|
|
### Building in PowerShell
|
|
|
|
```powershell
|
|
Import-Module .\tools\OpenConsole.psm1
|
|
Set-MsBuildDevEnvironment
|
|
Invoke-OpenConsoleBuild
|
|
```
|
|
|
|
There are a few additional exported functions (look at their documentation for further details):
|
|
|
|
- `Invoke-OpenConsoleBuild` - builds the solution. Can be passed msbuild arguments.
|
|
- `Invoke-OpenConsoleTests` - runs the various tests. Will run the unit tests by default.
|
|
- `Start-OpenConsole` - starts Openconsole.exe from the output directory. x64 is run by default.
|
|
- `Debug-OpenConsole` - starts Openconsole.exe and attaches it to the default debugger. x64 is run by default.
|
|
- `Invoke-CodeFormat` - uses clang-format to format all c++ files to match our coding style.
|
|
|
|
### Building in Cmd
|
|
|
|
```shell
|
|
.\tools\razzle.cmd
|
|
bcz
|
|
```
|
|
|
|
There are also scripts for running the tests:
|
|
- `runut.cmd` - run the unit tests
|
|
- `runft.cmd` - run the feature tests
|
|
- `runuia.cmd` - run the UIA tests
|
|
- `runformat` - uses clang-format to format all c++ files to match our coding style.
|
|
|
|
## Running & Debugging
|
|
|
|
To debug the Windows Terminal in VS, right click on `CascadiaPackage` (in the Solution Explorer) and go to properties. In the Debug menu, change "Application process" and "Background task process" to "Native Only".
|
|
|
|
You should then be able to build & debug the Terminal project by hitting <kbd>F5</kbd>.
|
|
|
|
> 👉 You will _not_ be able to launch the Terminal directly by running the WindowsTerminal.exe. For more details on why, see [#926](https://github.com/microsoft/terminal/issues/926), [#4043](https://github.com/microsoft/terminal/issues/4043)
|
|
|
|
## Configuration Types
|
|
|
|
Openconsole has three configuration types:
|
|
|
|
- Debug
|
|
- Release
|
|
- AuditMode
|
|
|
|
AuditMode is an experimental mode that enables some additional static analysis from CppCoreCheck.
|