44 lines
1.3 KiB
Bash
Executable file
44 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# AdvancedControllerRemoteCPP - build script for Linux
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
BUILD_DIR="${SCRIPT_DIR}/build"
|
|
BIN_DIR="${SCRIPT_DIR}/bin"
|
|
|
|
echo "=== Building AdvancedControllerRemoteCPP for Linux ==="
|
|
|
|
# Check for compiler and cmake
|
|
if ! command -v cmake >/dev/null 2>&1; then
|
|
echo "Error: cmake is required but not installed." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v g++ >/dev/null 2>&1 && ! command -v clang++ >/dev/null 2>&1; then
|
|
echo "Error: C++ compiler (g++ or clang++) is required but not installed." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Create directories
|
|
mkdir -p "${BUILD_DIR}"
|
|
mkdir -p "${BIN_DIR}"
|
|
|
|
# Configure CMake
|
|
cmake -S "${SCRIPT_DIR}" -B "${BUILD_DIR}" \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_BINDIR=.
|
|
|
|
# Compile
|
|
cmake --build "${BUILD_DIR}" -j"$(nproc 2>/dev/null || echo 2)"
|
|
|
|
# Install binaries into bin/
|
|
cmake --install "${BUILD_DIR}" --prefix "${BIN_DIR}"
|
|
|
|
# Ensure executable permissions
|
|
chmod +x "${BIN_DIR}/AdvancedControllerPanel" "${BIN_DIR}/remote_test" 2>/dev/null || true
|
|
|
|
echo ""
|
|
echo "=== Build completed successfully ==="
|
|
echo "Binaries available in: ${BIN_DIR}"
|
|
echo " - ${BIN_DIR}/AdvancedControllerPanel (Virtual Front Panel, start with ./run.sh)"
|
|
echo " - ${BIN_DIR}/remote_test (CLI diagnostic tool)"
|