Git Product home page Git Product logo

qtlinuxcmakedocker's Introduction

๐Ÿณ Qt Linux docker

๐Ÿณ Publish Docker image

Ready to use environment to compile application using Qt/CMake and deploy AppImage.

  • Qt 5.15.1
  • CMake 3.18.4
  • GCC 9
  • linuxdeployqt

How to use

This image is made to build cmake qt project for linux, but it can also build qmake based.

โŒจ๏ธ Interactive bash

You can run an interactive bash to build whatever you need. Execute this command from you source folder, to map it to /src folder in the container.

# This folder will be mounted in the container as /src
cd /path/to/my/project
# Start bash in the container
docker run -it --rm -v $(pwd):/src/ --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined reivilo1234/qt-linux-cmake:qt5.15.1 bash
# Then regular cmake workflow
mkdir -p build && cd build
cmake ..
make -j
# Build target will be available in /path/to/my/project/build

๐Ÿš€ Run only commands inside container

# Everything need to be executed in the same folder as CMakeLists.txt
# This folder will be mounted in the container as /src
cd /path/to/my/project

# Customize here your build folder name
export BUILD_DIR=build
# Create alias to run a command in the container
alias docker-run='docker run --rm -v $(pwd):/src/ --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined reivilo1234/qt-linux-cmake:qt5.15.1'

# Create build directory in host
mkdir -p $BUILD_DIR
# Execute cmake in container
docker-run cmake -B ./$BUILD_DIR/ -S . ..
# Execute make in container
docker-run make -C $BUILD_DIR -j

๐Ÿ”จ How to build Docker Image

Run in the same directory as the Dockerfile

export DOCKER_TAG=qt5.15.1
docker build --tag qt-linux-cmake:$DOCKER_TAG .
docker tag qt-linux-cmake:$DOCKER_TAG reivilo1234/qt-linux-cmake:$DOCKER_TAG
docker push reivilo1234/qt-linux-cmake:$DOCKER_TAG

qt5.15.1-gcc7

export DOCKER_TAG=qt5.15.1-gcc7
docker build --tag qt-linux-cmake:$DOCKER_TAG --build-arg GCC=7 --build-arg QT=5.15.1 .
docker tag qt-linux-cmake:$DOCKER_TAG reivilo1234/qt-linux-cmake:$DOCKER_TAG
docker push reivilo1234/qt-linux-cmake:$DOCKER_TAG

qt5.15.2-gcc7

export DOCKER_TAG=qt5.15.2-gcc7
docker build --tag qt-linux-cmake:$DOCKER_TAG --build-arg GCC=7 --build-arg QT=5.15.2 .
docker tag qt-linux-cmake:$DOCKER_TAG reivilo1234/qt-linux-cmake:$DOCKER_TAG
docker push reivilo1234/qt-linux-cmake:$DOCKER_TAG

qtlinuxcmakedocker's People

Contributors

olivierldff avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.