53 lines
1.1 KiB
Bash
53 lines
1.1 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
VERSION="${1:-$(date +%Y%m%d)}"
|
||
|
|
RELEASE_NAME="ViewDesignEngine-${VERSION}"
|
||
|
|
BUILD_DIR="build-release"
|
||
|
|
|
||
|
|
echo "=== ViewDesignEngine Release $VERSION ==="
|
||
|
|
|
||
|
|
# Clean build
|
||
|
|
rm -rf "$BUILD_DIR"
|
||
|
|
|
||
|
|
# Build release
|
||
|
|
BUILD_DIR="$BUILD_DIR" BUILD_TYPE=Release ENABLE_TESTS=ON bash tools/build.sh
|
||
|
|
|
||
|
|
# Run tests
|
||
|
|
echo ""
|
||
|
|
echo "=== Running Tests ==="
|
||
|
|
BUILD_DIR="$BUILD_DIR" bash tools/run_tests.sh
|
||
|
|
|
||
|
|
# Package
|
||
|
|
echo ""
|
||
|
|
echo "=== Packaging ==="
|
||
|
|
mkdir -p release
|
||
|
|
PACKAGE_DIR="release/$RELEASE_NAME"
|
||
|
|
rm -rf "$PACKAGE_DIR"
|
||
|
|
mkdir -p "$PACKAGE_DIR"/{lib,include,bin,docs}
|
||
|
|
|
||
|
|
# Headers
|
||
|
|
cp -r include/vde "$PACKAGE_DIR/include/"
|
||
|
|
|
||
|
|
# Libraries
|
||
|
|
find "$BUILD_DIR/src" -name "libvde*.a" -exec cp {} "$PACKAGE_DIR/lib/" \;
|
||
|
|
|
||
|
|
# Examples
|
||
|
|
for exe in "$BUILD_DIR"/examples/*/*; do
|
||
|
|
if [ -x "$exe" ] && [ ! -d "$exe" ]; then
|
||
|
|
cp "$exe" "$PACKAGE_DIR/bin/"
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
|
||
|
|
# Docs
|
||
|
|
cp -r docs "$PACKAGE_DIR/"
|
||
|
|
cp README.md LICENSE CHANGELOG.md "$PACKAGE_DIR/"
|
||
|
|
|
||
|
|
# Archive
|
||
|
|
cd release
|
||
|
|
tar -czf "${RELEASE_NAME}-linux-x64.tar.gz" "$RELEASE_NAME"
|
||
|
|
echo ""
|
||
|
|
echo "=== Release Package ==="
|
||
|
|
ls -lh "${RELEASE_NAME}-linux-x64.tar.gz"
|
||
|
|
echo " $PWD/${RELEASE_NAME}-linux-x64.tar.gz"
|