44 lines
1.7 KiB
Docker
Executable File
44 lines
1.7 KiB
Docker
Executable File
#=======================================================================
|
|
# FILE: ci/Dockerfile
|
|
# DESC: aarch64 (RK3588 / Ubuntu 20.04) build & test environment.
|
|
# - Ubuntu 20.04 arm64 base (matches the target board)
|
|
# - MOOS-IvP built from source and installed to /usr/local
|
|
# - jsoncpp (the only extra dep used by pPowerManger)
|
|
#=======================================================================
|
|
|
|
FROM arm64v8/ubuntu:20.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
#-----------------------------------------------------------------------
|
|
# System toolchain + dependencies
|
|
#-----------------------------------------------------------------------
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
cmake \
|
|
git \
|
|
ca-certificates \
|
|
libjsoncpp-dev \
|
|
rsync \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
#-----------------------------------------------------------------------
|
|
# Build & install MOOS-IvP (bundles MOOS core + essentials + geodesy + ivp)
|
|
# build-moos.sh -m : skip GUI tools (no FLTK needed)
|
|
# build-ivp.sh -n : skip GUI apps (no FLTK needed)
|
|
# Installs libMOOS + MOOSConfig.cmake + ivp headers/libs to /usr/local,
|
|
# matching the layout expected by the project's top-level CMakeLists.txt.
|
|
#-----------------------------------------------------------------------
|
|
WORKDIR /opt
|
|
|
|
RUN git clone --depth 1 https://github.com/moos-ivp/moos-ivp.git && \
|
|
cd moos-ivp && \
|
|
./build-moos.sh -m -j"$(nproc)" && \
|
|
make -C build/MOOS/MOOSCore install && \
|
|
make -C build/MOOS/MOOSGeodesy install && \
|
|
./build-ivp.sh -n -j"$(nproc)" && \
|
|
make -C build/ivp install && \
|
|
ldconfig
|
|
|
|
WORKDIR /src
|