Blame
|
1 | # Building Pointcaster |
||||||
| 2 | ||||||||
| 3 | ## Linux |
|||||||
| 4 | ||||||||
|
5 | 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. Binary dependencies are provided by the container image setup and source-based dependencies are built using vcpkg. |
||||||
| 6 | ||||||||
| 7 | The Pointcaster AppImage can be built using Docker or Podman from the repository root like so: |
|||||||
| 8 | ```sh |
|||||||
| 9 | docker build -t pointcaster . |
|||||||
| 10 | docker run --rm -it -v ./:/pointcaster:Z -w/pointcaster pointcaster ./scripts/build-linux-release.sh |
|||||||
| 11 | ``` |
|||||||
| 12 | ||||||||
| 13 | The `docker run` command arguments ensure that the repository is mounted inside the container and set as the working directory. |
|||||||
| 14 | ||||||||
| 15 | For a development shell, invoke `bash` or `fish`, where you can configure and build using `cmake`: |
|||||||
| 16 | ``` |
|||||||
| 17 | docker run --rm -it -v ./:/pointcaster:Z -w/pointcaster pointcaster bash |
|||||||
| 18 | # then inside the dev shell: |
|||||||
| 19 | > cmake --preset linux-release |
|||||||
| 20 | > cmake --build build/linux-release --target install |
|||||||
| 21 | ``` |
|||||||
| 22 | ||||||||
| 23 | This places a portable build at `build/linux-release/install/bin/pointcaster` which can be run outside the container. |
|||||||
| 24 | ||||||||
|
25 | ## Windows |
||||||
