sptrakesh/cppbase
Base container for c++ framework/application containers. Also includes fmt and ranges-v3 libraries.
3.7K
Base container used for building other c++ framework/application containers.
Note: The gcc
tag is from the latest gcc image.
FROM alpine:latest
MAINTAINER Rakesh Vidyadharan <rakesh@sptci.com>
ENV LANG=en_US.utf8
RUN apk --no-cache upgrade \
&& apk add --no-cache cmake git vim loksh curl \
ca-certificates zlib-dev openssl-dev \
linux-headers build-base jemalloc-dev
RUN git clone https://github.com/fmtlib/fmt.git --branch 9.1.0 \
&& cd fmt \
&& cmake \
-DCMAKE_CXX_STANDARD=20 \
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/opt/local \
-DCMAKE_INSTALL_LIBDIR=lib \
-DFMT_TEST=OFF \
-DFMT_MODULE=OFF \
-S . -B build \
&& cmake --build build -j8 \
&& (cd build && make install)
RUN git clone https://github.com/ericniebler/range-v3.git --branch 0.12.0 \
&& cd range-v3 \
&& cmake \
-DCMAKE_CXX_STANDARD=20 \
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/opt/local \
-DCMAKE_INSTALL_LIBDIR=lib \
-DRANGE_V3_DOCS=OFF \
-DRANGE_V3_EXAMPLES=OFF \
-DRANGE_V3_PERF=OFF \
-DRANGE_V3_TESTS=OFF \
-DRANGE_V3_INSTALL=ON \
-B build -S . \
&& cmake --build build -j8 \
&& (cd build; make install)
docker pull sptrakesh/cppbase