22 lines
706 B
Bash
22 lines
706 B
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
echo "Building PrivateBin API C++ (library + example)"
|
|
|
|
# Ensure vcpkg exists
|
|
VCPKG_ROOT="${VCPKG_ROOT:-$HOME/vcpkg}"
|
|
if [ ! -d "$VCPKG_ROOT" ]; then
|
|
echo "vcpkg not found under $VCPKG_ROOT, cloning..."
|
|
git clone https://github.com/microsoft/vcpkg.git "$VCPKG_ROOT"
|
|
"$VCPKG_ROOT/bootstrap-vcpkg.sh" -disableMetrics
|
|
fi
|
|
|
|
# Clean and configure
|
|
rm -rf build
|
|
cmake -S . -B build -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
|
|
|
|
# Build all targets
|
|
cmake --build build --config Release
|
|
|
|
echo "Build completed. Artifacts:"
|
|
echo " - Library: build/libprivatebinapi.so"
|
|
echo " - Example: build/example/example" |