diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 06d93be..5441d58 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -87,7 +87,11 @@ jobs: - name: Build Linux x86_64 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) if: matrix.os == 'ubuntu-latest' && matrix.build_type == 'dynamic' && matrix.build_target == 'aarch64-unknown-linux-gnu' @@ -110,11 +114,19 @@ jobs: - name: Build MacOS 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 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 uses: actions/upload-artifact@v4 diff --git a/README.MD b/README.MD index 27c562e..1310dbe 100644 --- a/README.MD +++ b/README.MD @@ -88,11 +88,12 @@ Download the latest binary from the [Releases](https://github.com/house-of-vanit ``` 3. Build and run: ```bash - # Build with GUI support (default) - cargo build --release + # Build both binaries (CLI without GUI, Desktop with GUI) + cargo build --release --bin khm --no-default-features --features cli + cargo build --release --bin khm-desktop - # Build server-only version - cargo build --release --no-default-features --features server + # Or build all at once with default features + cargo build --release ``` ### System Dependencies