87 lines
2.6 KiB
Markdown
87 lines
2.6 KiB
Markdown
# Building OrbitHub (C++ / Qt6 Widgets)
|
|
|
|
Run all commands from the repository root unless noted.
|
|
|
|
## Requirements
|
|
|
|
Minimum toolchain requirements on all platforms:
|
|
- CMake 3.21+
|
|
- C++17 compiler toolchain
|
|
- Qt 6.2+ with `Widgets` and `Sql` modules (dynamic linking)
|
|
- OpenSSH client available on `PATH` (required for SSH sessions)
|
|
|
|
## Linux (Ubuntu / Mint)
|
|
|
|
```bash
|
|
sudo apt update
|
|
sudo apt install -y \
|
|
build-essential cmake ninja-build git pkg-config \
|
|
qt6-base-dev qt6-base-dev-tools qt6-tools-dev qt6-tools-dev-tools \
|
|
openssh-client libssl-dev zlib1g-dev
|
|
|
|
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build build
|
|
./build/orbithub
|
|
```
|
|
|
|
## macOS (Homebrew)
|
|
|
|
```bash
|
|
xcode-select --install
|
|
brew update
|
|
brew install cmake ninja pkg-config qt@6 openssh openssl@3
|
|
|
|
cmake -S . -B build -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_PREFIX_PATH="$(brew --prefix qt@6);$(brew --prefix openssl@3)"
|
|
cmake --build build
|
|
./build/orbithub
|
|
```
|
|
|
|
## Windows 11 (PowerShell + MSVC + vcpkg)
|
|
|
|
Install required software:
|
|
|
|
```powershell
|
|
winget install -e --id Git.Git
|
|
winget install -e --id Kitware.CMake
|
|
winget install -e --id Ninja-build.Ninja
|
|
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
|
|
winget install -e --id Microsoft.VisualStudio.2022.BuildTools `
|
|
--override "--quiet --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.Windows11SDK.22621"
|
|
```
|
|
|
|
Install dependencies via vcpkg:
|
|
|
|
```powershell
|
|
git clone https://github.com/microsoft/vcpkg C:\dev\vcpkg
|
|
C:\dev\vcpkg\bootstrap-vcpkg.bat
|
|
C:\dev\vcpkg\vcpkg.exe install qtbase:x64-windows openssl:x64-windows zlib:x64-windows
|
|
```
|
|
|
|
Open `x64 Native Tools Command Prompt for VS 2022` (or Developer PowerShell), then build:
|
|
|
|
```powershell
|
|
cmake -S . -B build -G Ninja `
|
|
-DCMAKE_BUILD_TYPE=Release `
|
|
-DCMAKE_TOOLCHAIN_FILE=C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake `
|
|
-DVCPKG_TARGET_TRIPLET=x64-windows
|
|
cmake --build build
|
|
```
|
|
|
|
Run (ensures DLL paths from vcpkg are present):
|
|
|
|
```powershell
|
|
C:\dev\vcpkg\vcpkg.exe env --triplet x64-windows -- .\build\orbithub.exe
|
|
```
|
|
|
|
If you already have `Qt 6` from the Qt installer and do not want vcpkg Qt, you can point CMake at that Qt install with `-DCMAKE_PREFIX_PATH=...`, but you still need compatible `OpenSSL` and `zlib` development libraries for the embedded FreeRDP build.
|
|
|
|
## Notes
|
|
|
|
- OrbitHub builds vendored `KodoTerm`, `libvterm`, and `FreeRDP` from `third_party/`.
|
|
- If Qt is installed in a custom location, pass `-DCMAKE_PREFIX_PATH=/path/to/Qt/6.x.x/<toolchain>` to CMake.
|
|
- Build output executable:
|
|
- Linux/macOS: `build/orbithub`
|
|
- Windows: `build\\orbithub.exe`
|