Create How To Build

master
Krille Fear 4 years ago
parent 1421df0f55
commit b1275e4d8d

@ -0,0 +1,64 @@
1. [Install flutter](https://flutter.dev)
2. Clone the repo:
```
git clone --recurse-submodules https://gitlab.com/famedly/fluffychat
cd fluffychat
```
3. Choose your target platform below and enable support for it.
3.1 If you want, enable Googles Firebase Cloud Messaging:
`git apply ./scripts/enable-android-google-services.patch`
4. Debug with: `flutter run`
### Android
* Install CMake from the SDK Manager
* Install ninja:
```
sudo apt install ninja-build
```
* Build with: `flutter build apk`
### iOS / iPadOS
* Have a Mac with Xcode installed, and set up for Xcode-managed app signing
* If you want automatic app installation to connected devices, make sure you have Apple Configurator installed, with the Automation Tools (`cfgutil`) enabled
* Set a few environment variables
* FLUFFYCHAT_NEW_TEAM: the Apple Developer team that your certificates should live under
* FLUFFYCHAT_NEW_GROUP: the group you want App IDs and such to live under (ie: com.example.fluffychat)
* FLUFFYCHAT_INSTALL_IPA: set to `1` if you want the IPA to be deployed to connected devices after building, otherwise unset
* Run `./scripts/build-ios.sh`
### Web
* Enable web support in Flutter: https://flutter.dev/docs/get-started/web
* Build with:
```bash
./scripts/prepare-web.sh # To install libolm
flutter build web --release
```
* Optionally configure by serving a `config.json` at the same path as fluffychat.
An example can be found at `config.sample.json`. None of these
values have to exist, the ones stated here are the default ones. If you e.g. only want
to change the default homeserver, then only modify the `default_homeserver` key.
### Desktop (Linux, Windows, macOS)
* Enable Desktop support in Flutter: https://flutter.dev/desktop
* Build with one of these:
```bash
flutter build linux --release
flutter build windows --release
flutter build macos --release
```
For encryption support you have to install [libolm](https://gitlab.matrix.org/matrix-org/olm) on your system.
Loading…
Cancel
Save