Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
22 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,42 +1,42 @@ | ||
# Docker images for Qbs | ||
|
||
These docker images are used to run continuious integrations and local builds with the Qbs build system. | ||
This project builds Docker images around the Qbs build system used for CI runs. | ||
|
||
## Options | ||
| Image (latest versions) | Size | | ||
| -- | -- | | ||
| [![Docker Image Version (latest semver)](https://img.shields.io/docker/v/arbmind/qbs-clang?color=black&label=arbmind%2Fqbs-clang&logo=Docker&sort=semver)](https://hub.docker.com/r/arbmind/qbs-clang) | [![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/arbmind/qbs-clang?color=green&logo=Ubuntu&sort=semver)](https://hub.docker.com/r/arbmind/qbs-clang) | | ||
| [![Docker Image Version (latest semver)](https://img.shields.io/docker/v/arbmind/qbs-clang-libstdcpp?color=black&label=arbmind%2Fqbs-clang-libstdcpp&logo=Docker&sort=semver)](https://hub.docker.com/r/arbmind/qbs-clang-libstdcpp) | [![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/arbmind/qbs-clang-libstdcpp?color=green&logo=Ubuntu&sort=semver)](https://hub.docker.com/r/arbmind/qbs-clang-libstdcpp) | | ||
| [![Docker Image Version (latest semver)](https://img.shields.io/docker/v/arbmind/qbs-clang-libstdcpp-qt?color=black&label=arbmind%2Fqbs-clang-libstdcpp-qt&logo=Docker&sort=semver)](https://hub.docker.com/r/arbmind/qbs-clang-libstdcpp-qt) | [![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/arbmind/qbs-clang-libstdcpp-qt?color=yellow&logo=Ubuntu&sort=semver)](https://hub.docker.com/r/arbmind/qbs-clang-libstdcpp-qt) | | ||
| [![Docker Image Version (latest semver)](https://img.shields.io/docker/v/arbmind/qbs-gcc?color=black&label=arbmind%2Fqbs-gcc&logo=Docker&sort=semver)](https://hub.docker.com/r/arbmind/qbs-gcc) | [![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/arbmind/qbs-gcc?color=yellow&logo=Ubuntu&sort=semver)](https://hub.docker.com/r/arbmind/qbs-gcc) | | ||
| [![Docker Image Version (latest semver)](https://img.shields.io/docker/v/arbmind/qbs-gcc-qt?color=black&label=arbmind%2Fqbs-gcc-qt&logo=Docker&sort=semver)](https://hub.docker.com/r/arbmind/qbs-gcc-qt) | [![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/arbmind/qbs-gcc-qt?color=brown&logo=Ubuntu&sort=semver)](https://hub.docker.com/r/arbmind/qbs-gcc-qt) | | ||
|
||
compilers and standard libraries: | ||
* Clang/libc++ | ||
* Clang/libstdc++ | ||
* GCC/libstdc++ | ||
## Versions | ||
|
||
Qt: | ||
* none (bring your own) | ||
* Qt official builds (using aqtinstall) | ||
The compiler and Qt versions, modules and packages are provided as build args. | ||
|
||
## Usage | ||
See links to Dockerhub for older versions listed in tags. | ||
See [`.github/workflows/docker_build.yml`](https://github.com/arBmind/qbs-containers/blob/develop/.github/workflows/docker_build.yml) for the current bulid matrix. | ||
|
||
Use it like Qbs command line. | ||
## Basic Usage | ||
|
||
The default entry point is the qbs command. | ||
|
||
```bash | ||
docker run -it \ | ||
--mount src="$(pwd)",target=/build,type=bind \ | ||
-w /build \ | ||
--mount src="$(pwd)",target=/project,type=bind \ | ||
-w /project \ | ||
arbmind/qbs-gcc:latest \ | ||
build -d /tmp/qbs -p autotest-runner | ||
``` | ||
|
||
This mounts your current directory to `/build` in the container. Changes the workdir to `/build` and runs qbs with build path `/tmp/qbs` and targets the `autotest-runner`. | ||
This mounts your current directory to `/project` in the container. Changes the workdir to `/project` and runs qbs with build path `/tmp/qbs` and targets the `autotest-runner`. | ||
|
||
If you want to run an interactive shell simply add the `--entrypoint /bin/bash` option. | ||
|
||
|
||
## Details | ||
|
||
The Dockerfile is multi staged and has different targets for all the variants. | ||
All targets with underscores are meant to be internally only. | ||
|
||
Targets: | ||
* clang | ||
* clang-libstdcpp | ||
* clang-libstdcpp-qt | ||
* gcc | ||
* gcc-qt | ||
|
||
Note: clang-qt is missing because the Qt Company does not publish binaries built for libc++ | ||
Note: clang libc++ Qt combination is missing because the Qt Company does not publish binaries built for libc++. |