mirror of
https://github.com/logos-co/logos-cpp-sdk.git
synced 2026-08-30 17:21:15 +00:00
59 lines
1.4 KiB
Bash
Executable File
59 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
BUILD_DIR="$REPO_ROOT/build/cpp-generator"
|
|
SRC_DIR="$REPO_ROOT/logos-cpp-sdk/cpp-generator"
|
|
|
|
BUILD_TYPE="Release"
|
|
CMAKE_PREFIX_ARG=""
|
|
|
|
for arg in "$@"; do
|
|
case "$arg" in
|
|
clean)
|
|
echo "Cleaning build directory: $BUILD_DIR"
|
|
if [ -d "$BUILD_DIR" ]; then
|
|
rm -rf "$BUILD_DIR"
|
|
fi
|
|
echo "Clean complete."
|
|
exit 0
|
|
;;
|
|
--debug)
|
|
BUILD_TYPE="Debug"
|
|
;;
|
|
--release)
|
|
BUILD_TYPE="Release"
|
|
;;
|
|
--prefix)
|
|
shift || true
|
|
if [ "${1-}" != "" ]; then
|
|
CMAKE_PREFIX_ARG="-DCMAKE_PREFIX_PATH=$1"
|
|
shift || true
|
|
fi
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ -n "${QT_DIR-}" ]; then
|
|
CMAKE_PREFIX_ARG="-DCMAKE_PREFIX_PATH=$QT_DIR"
|
|
echo "Using QT_DIR as CMAKE_PREFIX_PATH: $QT_DIR"
|
|
fi
|
|
|
|
echo "Configuring (type=$BUILD_TYPE) ..."
|
|
cmake -S "$SRC_DIR" -B "$BUILD_DIR" -DCMAKE_BUILD_TYPE="$BUILD_TYPE" ${CMAKE_PREFIX_ARG}
|
|
|
|
echo "Building logos-cpp-generator ..."
|
|
cmake --build "$BUILD_DIR" --target logos-cpp-generator -j
|
|
|
|
BIN_PATH="$BUILD_DIR/bin/logos-cpp-generator"
|
|
if [ -f "$BIN_PATH" ]; then
|
|
echo "Build succeeded: $BIN_PATH"
|
|
else
|
|
echo "Build finished, but binary not found at expected path: $BIN_PATH"
|
|
exit 1
|
|
fi
|