diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..276bb60 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +FROM ubuntu:22.04 +ENV DEBIAN_FRONTEND=noninteractive + +# Install dependencies +RUN apt-get update && \ + apt-get install -y \ + build-essential \ + cmake \ + git \ + libzmq3-dev \ + libsqlite3-dev \ + libgtest-dev && \ + rm -rf /var/lib/apt/lists/* + +# Clone BehaviorTree.CPP for a source build +WORKDIR /usr/src/btcpp +RUN git clone https://github.com/BehaviorTree/BehaviorTree.CPP.git . --depth 1 --single-branch --branch 4.7.0 + +# Compile and install BehaviorTree.CPP +RUN mkdir build && \ + cd build && \ + cmake .. -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=ON && \ + make -j$(nproc) && \ + make install + +# Copy in btcpp_sample content. +WORKDIR /usr/src/ +COPY ./ btcpp_sample +WORKDIR /usr/src/btcpp_sample + +# Compile btcpp_sample Cmake project. +RUN mkdir build && \ + cd build && \ + cmake .. && \ + make -j$(nproc) +WORKDIR /usr/src/btcpp_sample/build + +CMD ["./btcpp_sample"]