52 lines
1.4 KiB
Bash
Executable File
52 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Setup clangd for this UE project
|
|
# Usage: ./setup_clangd.sh <path_to_ue_engine>
|
|
# Example: ./setup_clangd.sh ~/Unreal/UE_5.7
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PROJECT_FILE="$SCRIPT_DIR/ggj26_heron.uproject"
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "Usage: $0 <path_to_ue_engine>"
|
|
echo "Example: $0 ~/Unreal/UE_5.7"
|
|
exit 1
|
|
fi
|
|
|
|
UE_PATH="$1"
|
|
|
|
# Detect platform
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
BUILD_SCRIPT="$UE_PATH/Engine/Build/BatchFiles/Mac/Build.sh"
|
|
PLATFORM="Mac"
|
|
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
BUILD_SCRIPT="$UE_PATH/Engine/Build/BatchFiles/Linux/Build.sh"
|
|
PLATFORM="Linux"
|
|
elif [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" || "$OSTYPE" == "win32" ]]; then
|
|
BUILD_SCRIPT="$UE_PATH/Engine/Build/BatchFiles/Build.bat"
|
|
PLATFORM="Win64"
|
|
else
|
|
echo "Unsupported platform: $OSTYPE"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "$BUILD_SCRIPT" ]; then
|
|
echo "Error: Build script not found at $BUILD_SCRIPT"
|
|
echo "Please check your UE engine path"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Generating compile_commands.json for $PLATFORM..."
|
|
"$BUILD_SCRIPT" -mode=GenerateClangDatabase -project="$PROJECT_FILE" ggj26_heronEditor "$PLATFORM" Development
|
|
|
|
# Create symlink
|
|
COMPILE_DB="$UE_PATH/compile_commands.json"
|
|
if [ -f "$COMPILE_DB" ]; then
|
|
ln -sf "$COMPILE_DB" "$SCRIPT_DIR/compile_commands.json"
|
|
echo "Done! compile_commands.json linked to project root."
|
|
else
|
|
echo "Error: compile_commands.json was not generated"
|
|
exit 1
|
|
fi
|