You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.5 KiB
Docker
58 lines
2.5 KiB
Docker
#
|
|
# Copyright (c) Contributors to the Open 3D Engine Project.
|
|
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
#
|
|
|
|
# This is a base Dockerfile to use for self-containing local or remote development environments
|
|
#
|
|
# Once docker is installed, build a local image with this command:
|
|
# `docker build /localDockerfilepath -t ubuntu-build:latest`
|
|
#
|
|
# To build using a local repo on disk, run this command:
|
|
# `docker run -it -v /localo3depath:/data/workspace/o3de -v /localbuildpath:/data/workspace/o3de/build -v /local3rdPartypath:/root/.o3de/3rdParty \
|
|
# --name build-o3de -d ubuntu-build:latest /bin/sh -c 'cd /data/workspace/o3de && python/python.sh -u scripts/build/ci_build.py --platform Linux --type profile'`
|
|
#
|
|
# Attach to the running build to interact or view logs using this command:
|
|
# `docker attach build-o3de`
|
|
|
|
FROM ubuntu:20.04
|
|
|
|
WORKDIR /data/workspace
|
|
|
|
# Initilize apt cache
|
|
RUN apt-get clean && apt-get update
|
|
|
|
# Setup time zone and locale data (necessary for SSL and HTTPS packages)
|
|
RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata locales keyboard-configuration
|
|
|
|
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
|
|
dpkg-reconfigure --frontend=noninteractive locales && \
|
|
update-locale LANG=en_US.UTF-8
|
|
|
|
ENV LANG=en_US.UTF-8
|
|
|
|
# Install common tools
|
|
RUN apt-get -y install tar sudo less vim lsof firewalld net-tools pciutils \
|
|
file wget kmod xz-utils ca-certificates binutils kbd \
|
|
python3-pip bind9-utils jq bc unzip git git-lfs lsb-release \
|
|
software-properties-common
|
|
|
|
# Install build and development tools
|
|
RUN git clone --no-checkout https://github.com/o3de/o3de.git .o3de && \
|
|
cd .o3de && \
|
|
git sparse-checkout init --cone && \
|
|
git sparse-checkout set scripts/build/build_node && \
|
|
cd scripts/build/build_node/Platform/Linux && \
|
|
./install-ubuntu.sh
|
|
|
|
# Install supported version of cmake if build tool installation runs into issues
|
|
ENV CMAKE_VER=3.21.1-0kitware1ubuntu20.04.1
|
|
RUN $(cmake --version) || apt-get -y install cmake=${CMAKE_VER} cmake-data=${CMAKE_VER}
|
|
|
|
# Symlink clang version to non-versioned clang and set cc to clang
|
|
RUN find /usr/bin/ -name clang* | sed -E 's/^(\/usr\/bin\/.*)(\-[0-9]*)$/ln -s -v \1\2 \1/' | xargs -d '\n' -n 1 bash -c && \
|
|
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100 && \
|
|
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100
|