Building

This page is currently completely outdated and awaits a rewrite.

QuestScreen is written in Go. Since Go’s support for plugins is rather lackluster (for starters, they don’t work on Windows), QuestScreen offers an installer that helps you compiling it from source and enables you to add any plugins you want to use directly into the main application.

Prerequisites

To compile QuestScreen, you need a Go compiler. There are binary packages available on golang.org, which is the preferred way to acquire it for Windows users. Most Linux distributions have the Go compiler available in their package repositories. Mac users can use HomeBrew. You will need at least Go 1.12.

Open a shell / terminal window and ensure that go version is available and displays something not older than 1.12. Once this works, you are ready to install QuestScreen.

Getting the Installer

QuestScreens installer is a command-line tool. This is because QuestScreen can be used on systems that do not necessarily have a graphical desktop environment, like for example a Raspberry Pi. You will need an internet connection.

To get the installer, open a shell / terminal window and enter

go get github.com/QuestScreen/qs-build

Once that is done, you should be able to call the installer:

qs-build

What the installer does is this:

This sums up the installation. You now have an executable that you can start from the terminal or via double-click.

Advanced Usage

This section is only relevant for developers.

qs-build is not only the installer, but also the build system of QuestScreen. You can call it without any argument within the QuestScreen source code directory to build QuestScreen.

The build process has several phases:

Each phase depends on the result of the previous phase. Since the results are always generated files, you can only call the necessary phases when working on the code. To only execute specific phases, give the names of those phases as command line arguments.