summaryrefslogtreecommitdiff
path: root/scripts/build_dev.sh
diff options
context:
space:
mode:
authorIndrajith K L2025-11-09 06:37:45 +0530
committerIndrajith K L2025-11-09 06:37:45 +0530
commit0fbc961bb8e7b9864c0982bb86b0de2e25d6f4aa (patch)
treeb446af7c63385e59b6d5e41fb9071164ee59c2bb /scripts/build_dev.sh
parent7cdb3b65f437219d03f7c0609bcde4651d7f9e2e (diff)
downloadreilua-enhanced-0fbc961bb8e7b9864c0982bb86b0de2e25d6f4aa.tar.gz
reilua-enhanced-0fbc961bb8e7b9864c0982bb86b0de2e25d6f4aa.tar.bz2
reilua-enhanced-0fbc961bb8e7b9864c0982bb86b0de2e25d6f4aa.zip
Add macOS support and project creation tool
- Add macOS static and dynamic library linking support - Add cross-platform build scripts for Windows, macOS, and Linux - Add project creation script with metadata embedding - Add macOS app bundle creation with icon support - Update CMakeLists.txt for platform detection - Fix STB rect pack duplicate symbols - Remove test images and unused files - Consolidate documentation into MACOS.md
Diffstat (limited to 'scripts/build_dev.sh')
-rwxr-xr-x[-rw-r--r--]scripts/build_dev.sh84
1 files changed, 77 insertions, 7 deletions
diff --git a/scripts/build_dev.sh b/scripts/build_dev.sh
index ed5079d..5912bb0 100644..100755
--- a/scripts/build_dev.sh
+++ b/scripts/build_dev.sh
@@ -1,6 +1,6 @@
#!/bin/bash
# ReiLua Development Build Script
-# Run this from w64devkit shell
+# Works on Windows (w64devkit) and macOS
echo "================================"
echo "ReiLua - Development Build"
@@ -11,6 +11,53 @@ echo ""
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$SCRIPT_DIR/.." || exit 1
+# Check for dependencies on macOS
+if [[ "$OSTYPE" == "darwin"* ]]; then
+ echo "Checking macOS build configuration..."
+
+ # Check if static libraries exist
+ if [ -f "../lib/macos/libraylib.a" ] && [ -f "../lib/macos/liblua.a" ]; then
+ echo "✓ Static libraries found - building for distribution"
+ echo " (Single-file executable, no dependencies)"
+ echo ""
+ else
+ echo "⚠️ Static libraries not found - using Homebrew libraries"
+ echo ""
+ echo "This build will require raylib/lua at runtime."
+ echo ""
+ echo "For distribution builds (single executable), run:"
+ echo " ./scripts/macos/build_static_libs.sh"
+ echo ""
+
+ # Check for Homebrew dependencies
+ MISSING_DEPS=()
+
+ if ! brew list glfw &>/dev/null; then
+ MISSING_DEPS+=("glfw")
+ fi
+
+ if ! brew list raylib &>/dev/null; then
+ MISSING_DEPS+=("raylib")
+ fi
+
+ if ! brew list lua &>/dev/null; then
+ MISSING_DEPS+=("lua")
+ fi
+
+ if [ ${#MISSING_DEPS[@]} -gt 0 ]; then
+ echo "ERROR: Missing Homebrew packages: ${MISSING_DEPS[*]}"
+ echo ""
+ echo "Install with:"
+ echo " brew install ${MISSING_DEPS[*]} pkg-config"
+ echo ""
+ exit 1
+ fi
+
+ echo "✓ Homebrew dependencies found"
+ echo ""
+ fi
+fi
+
# Create and navigate to build directory
mkdir -p build
cd build || exit 1
@@ -60,9 +107,24 @@ if [ "$1" == "clean" ]; then
echo ""
fi
-# Configure with MinGW
-echo "Configuring CMake for development..."
-cmake -G "MinGW Makefiles" ..
+# Detect platform and set appropriate generator
+if [[ "$OSTYPE" == "darwin"* ]]; then
+ # macOS
+ CMAKE_GENERATOR="Unix Makefiles"
+ BUILD_CMD="make"
+elif [[ "$OSTYPE" == "msys" || "$OSTYPE" == "mingw"* ]]; then
+ # Windows with MinGW
+ CMAKE_GENERATOR="MinGW Makefiles"
+ BUILD_CMD="make"
+else
+ # Linux and others
+ CMAKE_GENERATOR="Unix Makefiles"
+ BUILD_CMD="make"
+fi
+
+# Configure
+echo "Configuring CMake for development (${OSTYPE})..."
+cmake -G "$CMAKE_GENERATOR" ..
if [ $? -ne 0 ]; then
echo ""
@@ -72,7 +134,7 @@ fi
echo ""
echo "Building ReiLua..."
-make
+$BUILD_CMD
if [ $? -ne 0 ]; then
echo ""
@@ -87,12 +149,20 @@ echo "================================"
echo ""
echo "Development build created successfully!"
echo ""
+
+# Detect executable name based on platform
+if [[ "$OSTYPE" == "darwin"* ]]; then
+ EXE_NAME="ReiLua"
+else
+ EXE_NAME="ReiLua.exe"
+fi
+
echo "To run your game:"
echo " cd /path/to/your/game"
-echo " /path/to/ReiLua/build/ReiLua.exe"
+echo " /path/to/ReiLua/build/$EXE_NAME"
echo ""
echo "To run with console logging:"
-echo " /path/to/ReiLua/build/ReiLua.exe --log"
+echo " /path/to/ReiLua/build/$EXE_NAME --log"
echo ""
echo "Features:"
echo " - Lua files load from file system"