Files
ViewDesignEngine/tools/release.sh
T
ViewDesignEngine d7139c3fd6
CI / Build & Test (push) Failing after 38s
CI / Release Build (push) Failing after 25s
chore: 工程工具 + CMake 修复
- tools/build.sh: 一键编译(支持 Release/Debug/ASan)
- tools/run_tests.sh: 运行测试
- tools/release.sh: 发布打包
- tools/format.sh: 代码格式化
- tools/clean.sh: 清理构建产物
- 修复 CMakeLists.txt: vde_compile_options 顺序错误
- 修复 src/CMakeLists.txt: 移除重复配置行
2026-07-23 07:51:23 +00:00

53 lines
1.1 KiB
Bash
Executable File

#!/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"