This commit is contained in:
parent
a4644aa189
commit
8f01f72b98
@ -56,6 +56,7 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Setup Unreal Engine
|
- name: Setup Unreal Engine
|
||||||
|
timeout-minutes: 5 # Add timeout to prevent hanging
|
||||||
run: |
|
run: |
|
||||||
# Use the correct path where Unreal Engine is installed
|
# Use the correct path where Unreal Engine is installed
|
||||||
UE_PATH="/Users/Shared/Epic Games/UE_5.5"
|
UE_PATH="/Users/Shared/Epic Games/UE_5.5"
|
||||||
@ -70,6 +71,46 @@ jobs:
|
|||||||
echo "UE_ROOT=$UE_PATH/Engine" >> $GITHUB_ENV
|
echo "UE_ROOT=$UE_PATH/Engine" >> $GITHUB_ENV
|
||||||
echo "Using Unreal Engine 5.5"
|
echo "Using Unreal Engine 5.5"
|
||||||
|
|
||||||
|
# Create a MuJoCo dummy file in a different way that requires no sudo
|
||||||
|
# Instead of trying to copy to the system location, we'll modify the build process
|
||||||
|
|
||||||
|
# 1. First, verify if the MuJoCo library exists in the project
|
||||||
|
PROJECT_MUJOCO_LIB="Plugins/LuckyMujoco/Source/ThirdParty/Mujoco/lib/mujoco.dylib"
|
||||||
|
if [ -f "$PROJECT_MUJOCO_LIB" ]; then
|
||||||
|
echo "Found MuJoCo library in the project at: $PROJECT_MUJOCO_LIB"
|
||||||
|
echo "Will use environment variables to point the linker to this location instead"
|
||||||
|
else
|
||||||
|
echo "WARNING: MuJoCo library not found in the project at: $PROJECT_MUJOCO_LIB"
|
||||||
|
echo "Creating a dummy library file in the project"
|
||||||
|
|
||||||
|
# Create the directory if it doesn't exist
|
||||||
|
mkdir -p "Plugins/LuckyMujoco/Source/ThirdParty/Mujoco/lib"
|
||||||
|
|
||||||
|
# Create a dummy .dylib file that will satisfy the linker
|
||||||
|
echo '/* Dummy MuJoCo library */' > "Plugins/LuckyMujoco/Source/ThirdParty/Mujoco/lib/mujoco.dylib"
|
||||||
|
chmod +x "Plugins/LuckyMujoco/Source/ThirdParty/Mujoco/lib/mujoco.dylib"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set DYLD_LIBRARY_PATH to include the project's library directory
|
||||||
|
# This will override the linker's search path to find our library first
|
||||||
|
echo "DYLD_LIBRARY_PATH=$(pwd)/Plugins/LuckyMujoco/Source/ThirdParty/Mujoco/lib:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
# Create a patch file for Mujoco.Build.cs to use the project-local path
|
||||||
|
MUJOCO_BUILD_CS="Plugins/LuckyMujoco/Source/ThirdParty/Mujoco/Mujoco.Build.cs"
|
||||||
|
if [ -f "$MUJOCO_BUILD_CS" ]; then
|
||||||
|
echo "Patching $MUJOCO_BUILD_CS to use local library path..."
|
||||||
|
|
||||||
|
# Create a backup
|
||||||
|
cp "$MUJOCO_BUILD_CS" "${MUJOCO_BUILD_CS}.bak"
|
||||||
|
|
||||||
|
# Use sed to modify the file to use only the local library path
|
||||||
|
sed -i.tmp 's|RuntimeDependencies.Add(Path.Combine("$(TargetOutputDir)", "mujoco.dylib"), Path.Combine(ModuleDirectory, "lib", "mujoco.dylib"));|// Modified to use local path only\n\t\t\tPublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "lib", "mujoco.dylib"));|g' "$MUJOCO_BUILD_CS"
|
||||||
|
|
||||||
|
echo "Modified Mujoco.Build.cs to use local library path"
|
||||||
|
else
|
||||||
|
echo "Mujoco.Build.cs not found at $MUJOCO_BUILD_CS"
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Build Unreal Project
|
- name: Build Unreal Project
|
||||||
run: |
|
run: |
|
||||||
# Debug information
|
# Debug information
|
||||||
@ -105,12 +146,23 @@ jobs:
|
|||||||
|
|
||||||
echo "Using Unreal Engine at: $UE_ROOT"
|
echo "Using Unreal Engine at: $UE_ROOT"
|
||||||
|
|
||||||
|
# Make sure we're using the environment variable for library path
|
||||||
|
if [ -n "$DYLD_LIBRARY_PATH" ]; then
|
||||||
|
echo "Using DYLD_LIBRARY_PATH: $DYLD_LIBRARY_PATH"
|
||||||
|
else
|
||||||
|
# If not set in environment, set it here
|
||||||
|
export DYLD_LIBRARY_PATH="$(pwd)/Plugins/LuckyMujoco/Source/ThirdParty/Mujoco/lib:$DYLD_LIBRARY_PATH"
|
||||||
|
echo "Setting DYLD_LIBRARY_PATH: $DYLD_LIBRARY_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
# Make the project file readable and executable
|
# Make the project file readable and executable
|
||||||
chmod 755 "$UPROJECT_ABSOLUTE_PATH"
|
chmod 755 "$UPROJECT_ABSOLUTE_PATH"
|
||||||
|
|
||||||
# Run the build using absolute paths
|
# Run the build using absolute paths
|
||||||
chmod +x "$UE_ROOT/Build/BatchFiles/RunUAT.sh"
|
chmod +x "$UE_ROOT/Build/BatchFiles/RunUAT.sh"
|
||||||
"$UE_ROOT/Build/BatchFiles/RunUAT.sh" BuildCookRun \
|
|
||||||
|
# Pass DYLD_LIBRARY_PATH to RunUAT.sh
|
||||||
|
DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH" "$UE_ROOT/Build/BatchFiles/RunUAT.sh" BuildCookRun \
|
||||||
-project="$UPROJECT_ABSOLUTE_PATH" \
|
-project="$UPROJECT_ABSOLUTE_PATH" \
|
||||||
-noP4 \
|
-noP4 \
|
||||||
-platform=Mac \
|
-platform=Mac \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user