init
This commit is contained in:
parent
10f2cebd46
commit
15e5ad3454
22 changed files with 965 additions and 1 deletions
2
scripts/build_debug.bat
Normal file
2
scripts/build_debug.bat
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
@echo off
|
||||
odin build src/main_release -define:RAYLIB_SHARED=false -out:build/game_debug.exe -no-bounds-check -subsystem:windows -debug
|
||||
3
scripts/build_debug.sh
Normal file
3
scripts/build_debug.sh
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
odin build src/main_release -out:build/game_debug.bin -no-bounds-check -debug
|
||||
21
scripts/build_hot_reload.bat
Normal file
21
scripts/build_hot_reload.bat
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
@echo off
|
||||
|
||||
rem Build game.dll
|
||||
odin build src -show-timings -use-separate-modules -define:RAYLIB_SHARED=true -build-mode:dll -out:build/game.dll -strict-style -vet-unused -vet-using-stmt -vet-using-param -vet-style -vet-semicolon -debug
|
||||
IF %ERRORLEVEL% NEQ 0 exit /b 1
|
||||
|
||||
rem If game.exe already running: Then only compile game.dll and exit cleanly
|
||||
QPROCESS "game.exe">NUL
|
||||
IF %ERRORLEVEL% EQU 0 exit /b 1
|
||||
|
||||
rem build game.exe
|
||||
odin build src/main_hot_reload -use-separate-modules -out:build/game.exe -strict-style -vet-using-stmt -vet-using-param -vet-style -vet-semicolon -debug
|
||||
IF %ERRORLEVEL% NEQ 0 exit /b 1
|
||||
|
||||
rem copy raylib.dll from odin folder to here
|
||||
if not exist "raylib.dll" (
|
||||
echo "Please copy raylib.dll from <your_odin_compiler>/vendor/raylib/windows/raylib.dll to the same directory as game.exe"
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
exit /b 0
|
||||
47
scripts/build_hot_reload.sh
Normal file
47
scripts/build_hot_reload.sh
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
VET="-strict-style -vet-unused -vet-using-stmt -vet-using-param -vet-style -vet-semicolon"
|
||||
|
||||
# NOTE: this is a recent addition to the Odin compiler, if you don't have this command
|
||||
# you can change this to the path to the Odin folder that contains vendor, eg: "~/Odin".
|
||||
ROOT=$(odin root)
|
||||
if [ ! $? -eq 0 ]; then
|
||||
echo "Your Odin compiler does not have the 'odin root' command, please update or hardcode it in the script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -eu
|
||||
|
||||
# Figure out the mess that is dynamic libraries.
|
||||
case $(uname) in
|
||||
"Darwin")
|
||||
case $(uname -m) in
|
||||
"arm64") LIB_PATH="macos-arm64" ;;
|
||||
*) LIB_PATH="macos" ;;
|
||||
esac
|
||||
|
||||
DLL_EXT=".dylib"
|
||||
EXTRA_LINKER_FLAGS="-Wl,-rpath $ROOT/vendor/raylib/$LIB_PATH"
|
||||
;;
|
||||
*)
|
||||
DLL_EXT=".so"
|
||||
EXTRA_LINKER_FLAGS="'-Wl,-rpath=\$ORIGIN/linux'"
|
||||
|
||||
# Copy the linux libraries into the project automatically.
|
||||
if [ ! -d "linux" ]; then
|
||||
mkdir linux
|
||||
cp -r $ROOT/vendor/raylib/linux/libraylib*.so* linux
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# Build the game.
|
||||
odin build . -use-separate-modules -extra-linker-flags:"$EXTRA_LINKER_FLAGS" -show-timings -define:RAYLIB_SHARED=true -build-mode:dll -out:build/game_tmp$DLL_EXT -debug $VET
|
||||
|
||||
# Need to use a temp file on Linux because it first writes an empty `game.so`, which the game will load before it is actually fully written.
|
||||
mv game_tmp$DLL_EXT game$DLL_EXT
|
||||
|
||||
# Do not build the game.bin if it is already running.
|
||||
if ! pgrep game.bin > /dev/null; then
|
||||
odin build src/main_hot_reload -use-separate-modules -out:build/game.bin $VET -debug
|
||||
fi
|
||||
2
scripts/build_release.bat
Normal file
2
scripts/build_release.bat
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
@echo off
|
||||
odin build src/main_release -define:RAYLIB_SHARED=false -out:build/game_release.exe -no-bounds-check -o:speed -strict-style -vet-unused -vet-using-stmt -vet-using-param -vet-style -vet-semicolon -subsystem:windows
|
||||
3
scripts/build_release.sh
Normal file
3
scripts/build_release.sh
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
odin build src/main_release -out:build/game_release.bin -no-bounds-check -o:speed -strict-style -vet-unused -vet-using-stmt -vet-using-param -vet-style -vet-semicolon
|
||||
Loading…
Add table
Add a link
Reference in a new issue