Blame

432b0b Matt Hughes 2026-01-16 04:54:20
add build page
1
# Building Pointcaster
2
8c8c1b Matt Hughes 2026-01-21 03:50:02
3
Source code for Pointcaster is available on [Github](https://github.com/eidetic-av/pointcaster). Start by cloning the repository:
4
```sh
5
git clone https://github.com/eidetic-av/pointcaster.git
6
cd pointcaster
7
```
63a237 Matt Hughes 2026-01-16 05:25:14
8
432b0b Matt Hughes 2026-01-16 04:54:20
add build page
9
## Linux
10
bb906d Matt Hughes 2026-03-16 07:14:26
11
Builds on Linux use a containerised environment created using the [Dockerfile](https://github.com/eidetic-av/pointcaster/blob/qt/Dockerfile) in the root of the repository. This handles download and configuration of all dependencies. Either [Docker](https://docs.docker.com/engine/install/) or [Podman](https://podman.io/docs/installation) must be installed and configured on your system to proceed.
e6e300 Matt Hughes 2026-01-16 05:14:27
12
8c8c1b Matt Hughes 2026-01-21 03:50:02
13
The Pointcaster AppImage can be built from the repository root like so:
e6e300 Matt Hughes 2026-01-16 05:14:27
14
```sh
8c8c1b Matt Hughes 2026-01-21 03:50:02
15
docker build -t pointcaster-linux .
16
docker run --rm -it -v ./:/pointcaster:Z -w /pointcaster pointcaster-linux ./scripts/build-linux-release.sh
e6e300 Matt Hughes 2026-01-16 05:14:27
17
```
18
The `docker run` command arguments ensure that the repository is mounted inside the container and set as the working directory.
19
20
For a development shell, invoke `bash` or `fish`, where you can configure and build using `cmake`:
8c8c1b Matt Hughes 2026-01-21 03:50:02
21
```sh
3ba8af Matt Hughes 2026-03-15 00:54:49
22
docker run --rm -it -v ./:/pointcaster:Z -w/pointcaster pointcaster-linux bash
8c8c1b Matt Hughes 2026-01-21 03:50:02
23
```
24
Then from inside:
25
```sh
77dd37 Matt Hughes 2026-01-21 03:38:38
26
cmake --preset linux-release
27
cmake --build build/linux-release
28
cmake --build build/linux-release --target install
29
cmake --build build/linux-release --target package
e6e300 Matt Hughes 2026-01-16 05:14:27
30
```
31
4ab926 Matt Hughes 2026-01-16 05:30:31
32
The install target places a portable build at `build/linux-release/install/bin/pointcaster`, and the package target creates an AppImage at `build/linux-release/Pointcaster-Linux-<version>.AppImage`, both of which can be run from outside the container.
0e386a Matt Hughes 2026-01-21 03:40:30
33
> [!TIP]
8c8c1b Matt Hughes 2026-01-21 03:50:02
34
> The docker image is used as a base for a [Development Container](https://containers.dev/) in IDEs that support it. Visual Studio Code will automatically install extensions needed for C++, CMake and QML. See the [devcontainer.json](https://github.com/eidetic-av/pointcaster/blob/qt/.devcontainer/devcontainer.json).
77dd37 Matt Hughes 2026-01-21 03:38:38
35
432b0b Matt Hughes 2026-01-16 04:54:20
add build page
36
## Windows
bb906d Matt Hughes 2026-03-16 07:14:26
37
### Windows Builds Using Docker
b48c2f Matt Hughes 2026-03-16 12:40:10
38
Automated Windows builds use [Docker](https://docs.docker.com/engine/install/) to configure the build environment. [`scripts/windows.Dockerfile`](https://github.com/eidetic-av/pointcaster/blob/qt/scripts/windows.Dockerfile) installs Visual Studio Build Tools and other binary dependencies in a Windows container. This is how release builds are produced, but if you are looking to develop Pointcaster or a Pointcaster plugin you'll most likely want to build and debug using an IDE - in which case you might prefer [installing dependencies manually](#windows-builds-in-an-ide).
964c07 Matt Hughes 2026-03-16 07:22:32
39
b28796 Matt Hughes 2026-03-16 07:35:44
40
The following commands assume you have a working docker installation capable of running Windows containers on the command line.
964c07 Matt Hughes 2026-03-16 07:22:32
41
b28796 Matt Hughes 2026-03-16 07:35:44
42
To build the Windows docker image:
891c5a Matt Hughes 2026-03-14 14:08:46
43
```pwsh
bb906d Matt Hughes 2026-03-16 07:14:26
44
docker build -f scripts/windows.Dockerfile -t pointcaster-win .
b28796 Matt Hughes 2026-03-16 07:35:44
45
```
46
To produce a Pointcaster installer package:
47
```
bb906d Matt Hughes 2026-03-16 07:14:26
48
docker run -v ./:C:\pointcaster -w C:\pointcaster pointcaster-win .\scripts-build-windows-release.ps1
3ba8af Matt Hughes 2026-03-15 00:54:49
49
```
50
For a development shell:
51
```
7187bc Matt Hughes 2026-03-16 14:05:40
52
docker run -it -v ./:C:\pointcaster -w C:\pointcaster pointcaster-win powershell
891c5a Matt Hughes 2026-03-14 14:08:46
53
```
365e08 Matt Hughes 2026-03-16 07:36:43
54
And from inside:
55
```pwsh
572bbd Matt Hughes 2026-03-16 07:36:58
56
cmake --preset windows-release
57
cmake --build build/windows-release
58
cmake --build build/windows-release --target install
59
cmake --build build/windows-release --target package
365e08 Matt Hughes 2026-03-16 07:36:43
60
```
e07bf3 Matt Hughes 2026-03-16 07:19:41
61
### Windows Builds in an IDE
7187bc Matt Hughes 2026-03-16 14:05:40
62
To build Pointcaster on Windows using a CMake-compatible IDE like Visual Studio, you'll need to manually install the following dependencies on your host:
15bb68 Matt Hughes 2026-03-16 13:47:28
63
- Qt ~~QtVersion~~