From 0ac0882eeb4e3390aef464e1807a3631c5f2e858 Mon Sep 17 00:00:00 2001 From: Jacob Oursland Date: Sun, 5 Nov 2023 15:49:23 -0800 Subject: [PATCH] Add Docker configuration for conda. --- tools/build/Docker/Dockerfile.Conda | 18 ++++++++++++++++++ tools/build/Docker/README.conda.rst | 26 ++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 tools/build/Docker/Dockerfile.Conda create mode 100644 tools/build/Docker/README.conda.rst diff --git a/tools/build/Docker/Dockerfile.Conda b/tools/build/Docker/Dockerfile.Conda new file mode 100644 index 0000000000..834cab00a6 --- /dev/null +++ b/tools/build/Docker/Dockerfile.Conda @@ -0,0 +1,18 @@ +FROM ubuntu:22.04 + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates \ + curl \ + && \ + rm -rf /var/lib/apt/lists/* + +# install Miniforge3 +RUN curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" && \ + bash Miniforge3-$(uname)-$(uname -m).sh -b -p /opt/miniforge3 && \ + rm "Miniforge3-$(uname)-$(uname -m).sh" && \ + /opt/miniforge3/bin/conda init + +WORKDIR /builds + +VOLUME [ "/builds" ] diff --git a/tools/build/Docker/README.conda.rst b/tools/build/Docker/README.conda.rst new file mode 100644 index 0000000000..0bd455c1ad --- /dev/null +++ b/tools/build/Docker/README.conda.rst @@ -0,0 +1,26 @@ +======================== +FreeCAD build with Conda +======================== + +Container +========= + +Build and run the `freecad-conda` container with the following commands: + +.. code-block:: console + + docker build --file tools/build/Dockerfile.Conda --tag freecad-conda + docker run --rm --interactive --tty --volume $(pwd):/builds:z freecad-conda + +Build Code +========== + +Within the `freecad-conda` container, install the build dependencies and build +FreeCAD using the following commands: + +.. code-block:: console + + conda/setup-environment.sh + conda activate freecad + cmake --preset conda-linux-debug + cmake --build build/debug