impress_voice_input/build-linux.sh
impressionyang f8173cd0c1 feat: 构建脚本每次强制重新编译 application.cpp 以更新编译时间
在 build-linux.sh 和 build-win.sh 中增加 touch application.cpp 步骤,
确保 __DATE__ 和 __TIME__ 每次构建都是最新的,日志中的编译时间
能准确反映本次构建的时间。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-11 17:31:43 +08:00

55 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# ============================================================================
# Impress Voice Input — Linux 构建脚本
# 用法: ./build-linux.sh [--clean] [--release|--debug]
# ============================================================================
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
BUILD_DIR="${SCRIPT_DIR}/build_linux"
BUILD_TYPE="RelWithDebInfo"
# 解析参数
for arg in "$@"; do
case "$arg" in
--clean)
echo "清理构建目录..."
rm -rf "${BUILD_DIR}"
;;
--debug)
BUILD_TYPE="Debug"
;;
--release)
BUILD_TYPE="Release"
;;
esac
done
echo "============================================"
echo " Impress Voice Input — Linux 构建"
echo " 构建类型: ${BUILD_TYPE}"
echo "============================================"
mkdir -p "${BUILD_DIR}"
cd "${BUILD_DIR}"
echo "[1/4] 强制更新编译时间戳..."
touch "${SCRIPT_DIR}/src/app/application.cpp"
echo "[2/4] 配置 CMake..."
cmake .. -DCMAKE_BUILD_TYPE="${BUILD_TYPE}"
echo "[2/4] 配置 CMake..."
cmake .. -DCMAKE_BUILD_TYPE="${BUILD_TYPE}"
echo "[3/4] 编译..."
cmake --build . -j$(nproc)
echo "[4/4] 构建完成"
echo ""
echo "可执行文件: ${BUILD_DIR}/impress_voice_input"
echo ""
echo "运行方式:"
echo " cd ${SCRIPT_DIR} && ./run.sh"
echo " 或 LD_LIBRARY_PATH=third_party/onnxruntime/lib:third_party/portaudio/lib ${BUILD_DIR}/impress_voice_input"