Split cli and gui bins

This commit is contained in:
Alexandr Bogomiakov
2025-07-24 04:38:47 +03:00
parent 98520a9a50
commit f0e3ca35ba
2 changed files with 20 additions and 7 deletions

View File

@@ -87,7 +87,11 @@ jobs:
- name: Build Linux x86_64 - name: Build Linux x86_64
if: matrix.os == 'ubuntu-latest' && matrix.build_type == 'dynamic' && matrix.build_target == 'x86_64-unknown-linux-gnu' if: matrix.os == 'ubuntu-latest' && matrix.build_type == 'dynamic' && matrix.build_target == 'x86_64-unknown-linux-gnu'
run: cargo build --target ${{ matrix.build_target }} --release --bins run: |
# Build CLI without GUI features
cargo build --target ${{ matrix.build_target }} --release --bin khm --no-default-features --features cli
# Build Desktop with GUI features
cargo build --target ${{ matrix.build_target }} --release --bin khm-desktop
- name: Build Linux ARM64 (CLI only) - name: Build Linux ARM64 (CLI only)
if: matrix.os == 'ubuntu-latest' && matrix.build_type == 'dynamic' && matrix.build_target == 'aarch64-unknown-linux-gnu' if: matrix.os == 'ubuntu-latest' && matrix.build_type == 'dynamic' && matrix.build_target == 'aarch64-unknown-linux-gnu'
@@ -110,11 +114,19 @@ jobs:
- name: Build MacOS - name: Build MacOS
if: matrix.os == 'macos-latest' if: matrix.os == 'macos-latest'
run: cargo build --target ${{ matrix.build_target }} --release --bins run: |
# Build CLI without GUI features
cargo build --target ${{ matrix.build_target }} --release --bin khm --no-default-features --features cli
# Build Desktop with GUI features
cargo build --target ${{ matrix.build_target }} --release --bin khm-desktop
- name: Build Windows - name: Build Windows
if: matrix.os == 'windows-latest' if: matrix.os == 'windows-latest'
run: cargo build --target ${{ matrix.build_target }} --release --bins run: |
# Build CLI without GUI features
cargo build --target ${{ matrix.build_target }} --release --bin khm --no-default-features --features cli
# Build Desktop with GUI features
cargo build --target ${{ matrix.build_target }} --release --bin khm-desktop
- name: Upload CLI artifact - name: Upload CLI artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4

View File

@@ -88,11 +88,12 @@ Download the latest binary from the [Releases](https://github.com/house-of-vanit
``` ```
3. Build and run: 3. Build and run:
```bash ```bash
# Build with GUI support (default) # Build both binaries (CLI without GUI, Desktop with GUI)
cargo build --release cargo build --release --bin khm --no-default-features --features cli
cargo build --release --bin khm-desktop
# Build server-only version # Or build all at once with default features
cargo build --release --no-default-features --features server cargo build --release
``` ```
### System Dependencies ### System Dependencies