30 lines
745 B
Bash
Executable File
30 lines
745 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Create volume if it doesn't exist
|
|
docker volume create cppbuild-cache
|
|
|
|
OUTDIR="output"
|
|
|
|
docker run --rm \
|
|
-v cppbuild-cache:/app/build \
|
|
-v $(pwd):/app/src \
|
|
-w /app/src \
|
|
-e CCACHE_DIR=/app/build/.ccache \
|
|
-e CC="ccache gcc" \
|
|
-e CXX="ccache g++" \
|
|
-e LD=mold \
|
|
-e CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) \
|
|
-e NINJA_STATUS="[%f/%t] " \
|
|
cpp-httplib-builder:latest \
|
|
-c "mkdir -p /app/build && \
|
|
cd /app/build && \
|
|
cmake -G Ninja /app/src && \
|
|
ninja -j$(nproc) && \
|
|
mkdir /app/src/$OUTDIR && \
|
|
cp /app/build/ipdemo /app/src/$OUTDIR/ipdemo && \
|
|
chown -R $(id -u):$(id -g) /app/src/$OUTDIR"
|
|
|
|
if [ -f $OUTDIR/ipdemo ]; then
|
|
$OUTDIR/ipdemo
|
|
fi
|