vOOice/BUILDING.md
2025-03-20 17:24:12 +05:45

66 lines
2.0 KiB
Markdown

# Building VoiceInk
This guide provides detailed instructions for building VoiceInk from source.
## Prerequisites
Before you begin, ensure you have:
- macOS 14.0 or later
- Xcode (latest version recommended)
- Swift (latest version recommended)
## Building whisper.cpp Framework
1. Clone and build whisper.cpp:
```bash
git clone https://github.com/ggerganov/whisper.cpp.git
cd whisper.cpp
./build-xcframework.sh
```
This will create the XCFramework at `build-apple/whisper.xcframework`.
## Building VoiceInk
1. Clone the VoiceInk repository:
```bash
git clone https://github.com/Beingpax/VoiceInk.git
cd VoiceInk
```
2. Add the whisper.xcframework to your project:
- Drag and drop `../whisper.cpp/build-apple/whisper.xcframework` into the project navigator, or
- Add it manually in the "Frameworks, Libraries, and Embedded Content" section of project settings
3. Build and Run
- Build the project using Cmd+B or Product > Build
- Run the project using Cmd+R or Product > Run
## Development Setup
1. **Xcode Configuration**
- Ensure you have the latest Xcode version
- Install any required Xcode Command Line Tools
2. **Dependencies**
- The project uses [whisper.cpp](https://github.com/ggerganov/whisper.cpp) for transcription
- Ensure the whisper.xcframework is properly linked in your Xcode project
- Test the whisper.cpp installation independently before proceeding
3. **Building for Development**
- Use the Debug configuration for development
- Enable relevant debugging options in Xcode
4. **Testing**
- Run the test suite before making changes
- Ensure all tests pass after your modifications
## Troubleshooting
If you encounter any build issues:
1. Clean the build folder (Cmd+Shift+K)
2. Clean the build cache (Cmd+Shift+K twice)
3. Check Xcode and macOS versions
4. Verify all dependencies are properly installed
5. Make sure whisper.xcframework is properly built and linked
For more help, please check the [issues](https://github.com/Beingpax/VoiceInk/issues) section or create a new issue.