Blame
|
1 | # Building Pointcaster |
||||||
| 2 | ||||||||
|
3 | Source code for Pointcaster is available [on Github](https://github.com/eidetic-av/pointcaster). Start by cloning the repository. |
||||||
|
4 | |||||||
|
5 | ## Linux |
||||||
| 6 | ||||||||
|
7 | 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, installation and configuration of all dependencies. |
||||||
|
8 | |||||||
| 9 | The Pointcaster AppImage can be built using Docker or Podman from the repository root like so: |
|||||||
| 10 | ```sh |
|||||||
| 11 | docker build -t pointcaster . |
|||||||
| 12 | docker run --rm -it -v ./:/pointcaster:Z -w/pointcaster pointcaster ./scripts/build-linux-release.sh |
|||||||
| 13 | ``` |
|||||||
| 14 | ||||||||
| 15 | The `docker run` command arguments ensure that the repository is mounted inside the container and set as the working directory. |
|||||||
| 16 | ||||||||
| 17 | For a development shell, invoke `bash` or `fish`, where you can configure and build using `cmake`: |
|||||||
| 18 | ``` |
|||||||
| 19 | docker run --rm -it -v ./:/pointcaster:Z -w/pointcaster pointcaster bash |
|||||||
| 20 | # then inside the dev shell: |
|||||||
| 21 | > cmake --preset linux-release |
|||||||
|
22 | > cmake --build build/linux-release |
||||||
|
23 | > cmake --build build/linux-release --target install |
||||||
|
24 | > cmake --build build/linux-release --target package |
||||||
| 25 | ||||||||
|
26 | ``` |
||||||
| 27 | ||||||||
|
28 | 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. |
||||||
|
29 | |||||||
|
30 | ## Windows |
||||||
