Skip to content

Building

maximlevey edited this page Feb 28, 2026 · 1 revision

Building

Requirements

  • macOS 12 or later
  • Xcode or Xcode Command Line Tools
  • Setapp installed (the framework is loaded at runtime from Setapp's app bundle)

Make targets

make build        # Build universal release binary
make install      # Build and install to /usr/local/bin
make uninstall    # Remove the installed binary
make clean        # Remove build artifacts
make help         # Show available targets

Development build

For a debug build during development:

swift build

The debug binary is placed in .build/debug/setapp-cli.

Project structure

setapp-cli/
├── Sources/
│   ├── SetappCLI/          # Main app target
│   │   ├── Commands/       # Argument parser commands
│   │   ├── Extensions/     # URL, FileManager helpers
│   │   ├── Helpers/        # Printer, SetappDetector, Database, XPCService, BundleFile
│   │   └── Model/          # SetappApp, SetappError
│   └── CBridge/            # ObjC bridging header for XPC interop
├── Formula/                # Homebrew formula
├── Info.plist              # Embedded into binary at compile time
├── Makefile
├── Package.swift
└── install.sh

Clone this wiki locally