This essentially just bakes in all the dependencies and other third party tools that we need, preventing them from being downloaded on every new CI run. TravisCI does not have non-enterprise support for custom images without a lot of hassle.
53 lines
1.7 KiB
Plaintext
53 lines
1.7 KiB
Plaintext
FROM circleci/buildpack-deps:xenial
|
|
|
|
# Make sure all packages are up to date for the install
|
|
RUN sudo apt-get update && sudo apt-get upgrade
|
|
|
|
# Required for LLVM
|
|
RUN sudo apt-get install software-properties-common apt-transport-https -y
|
|
|
|
# Install LLVM7 and LLVM8
|
|
RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|
RUN sudo add-apt-repository 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main'
|
|
RUN sudo add-apt-repository 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
|
|
RUN sudo apt-get update -qq
|
|
|
|
# Install LLVM8 binaries
|
|
# clang is reuired due to a check by qmake
|
|
# clang-tidy-8 has new errors compared to clang-tidy-7, so we haven't upgraded.
|
|
RUN sudo apt-get install clang-format-8 -y
|
|
RUN sudo apt-get install clang-tidy-7 -y
|
|
RUN sudo apt-get install clang-8 -y
|
|
RUN sudo apt-get install clang -y
|
|
|
|
# Install g++
|
|
RUN sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
|
RUN sudo apt-get update
|
|
RUN sudo apt-get install g++-7 -y
|
|
|
|
# Add Qt 5.12 repos
|
|
RUN sudo add-apt-repository ppa:beineri/opt-qt-5.12.2-xenial -y
|
|
RUN sudo apt-get update -qq
|
|
|
|
# Get build-essential and libgl1-mesa-dev
|
|
RUN sudo apt-get install build-essential libgl1-mesa-dev -y
|
|
|
|
# Install Qt packages
|
|
RUN sudo apt-get install qt512-meta-minimal qt512multimedia qt512declarative qt512quickcontrols2 qt512quickcontrols qt512tools qt512imageformats qt512svg qt512base qtchooser -y
|
|
|
|
# Install X11 packages
|
|
RUN sudo apt-get install libx11-dev libxt-dev libxtst-dev -y
|
|
|
|
# Install PulseAudio packages
|
|
RUN sudo apt-get install libpulse-dev -y
|
|
|
|
# Install bear/clang-tidy
|
|
RUN sudo apt-get install bear clang-tidy -y
|
|
|
|
# Install SDL libs
|
|
RUN sudo apt-get install libsdl2-2.0-0 -y
|
|
|
|
# Set up qtchooser
|
|
RUN qtchooser -install opt-qt512 /opt/qt512/bin/qmake
|
|
|