building raylib for windows

This commit is contained in:
Synthasmagoria 2026-09-15 21:09:10 +02:00
commit 82e02c98a4
4 changed files with 41 additions and 6 deletions

28
build_windows.sh Executable file
View file

@ -0,0 +1,28 @@
#!/bin/bash -eu
EXE_NAME="Transformation Visualizer.exe"
OUT_DIR="build/windows"
ASSETS_DIR="src/assets/"
if [[ -v 1 ]]; then
if [ "$1" = "DEBUG" ]; then
ODIN_FLAGS="-debug"
elif [ "$1" = "RELEASE" ]; then
ODIN_FLAGS="-o:speed -extra-linker-flags:\"-Wl,--gc-sections\""
else
echo "Usage: <script> <DEBUG/RELEASE>"
exit 1
fi
else
echo "Usage: <script> <DEBUG/RELEASE>"
exit 1
fi
mkdir -p $OUT_DIR
odin build src/desktop -target:windows_amd64 -out:"$OUT_DIR/$EXE_NAME" $ODIN_FLAGS
cp -R $ASSETS_DIR ./$OUT_DIR/
echo "Desktop build created in ${OUT_DIR}"
if [ "$1" = "RELEASE" ]; then
upx "$OUT_DIR/$EXE_NAME"
fi

View file

@ -5,6 +5,7 @@ set -euo pipefail
emsdk_env="$HOME/programs/emsdk/emsdk_env.sh" emsdk_env="$HOME/programs/emsdk/emsdk_env.sh"
linux_library_dest="linux" linux_library_dest="linux"
windows_library_dest="windows" windows_library_dest="windows"
windows_compiler="x86_64-w64-mingw32-gcc"
darwin_library_dest="darwin" darwin_library_dest="darwin"
wasm_library_dest="wasm" wasm_library_dest="wasm"
@ -100,29 +101,35 @@ mkdir -p $wasm_library_dest
source $emsdk_env source $emsdk_env
pushd raylib/src pushd raylib/src
echo "Compiling raylib static library for linux" echo "Compiling raylib static library for Linux"
make --silent RAYLIB_CONFIG_FLAGS="$CONFIG_FLAGS" CUSTOM_CFLAGS="$CFLAGS" $MAKE_FLAGS PLATFORM_OS=LINUX -B make --silent RAYLIB_CONFIG_FLAGS="$CONFIG_FLAGS" CUSTOM_CFLAGS="$CFLAGS" $MAKE_FLAGS PLATFORM_OS=LINUX -B
mv libraylib.a "../../${linux_library_dest}" mv libraylib.a "../../${linux_library_dest}"
make --silent clean make --silent clean
# echo "Compiling static library for windows" echo "Compiling raylib static library for Windows"
# make --silent $modules RAYLIB_CONFIG_FLAGS="$config_cflags" CC=x86_64-w64-mingw32-gcc PLATFORM_OS=WINDOWS make --silent RAYLIB_CONFIG_FLAGS="$CONFIG_FLAGS" CUSTOM_CFLAGS="$CFLAGS" $MAKE_FLAGS CC=$windows_compiler PLATFORM_OS=WINDOWS -B
# mv libraylib.a $windows_library_dest mv libraylib.a "../../${windows_library_dest}"
# make --silent clean make --silent clean
echo "Compiling raylib static library for web" echo "Compiling raylib static library for web"
make --silent RAYLIB_CONFIG_FLAGS="$CONFIG_FLAGS" CUSTOM_CFLAGS="$CFLAGS" $MAKE_FLAGS PLATFORM=PLATFORM_WEB -B make --silent RAYLIB_CONFIG_FLAGS="$CONFIG_FLAGS" CUSTOM_CFLAGS="$CFLAGS" $MAKE_FLAGS PLATFORM=PLATFORM_WEB -B
mv libraylib.web.a libraylib.a mv libraylib.web.a libraylib.a
mv libraylib.a "../../${wasm_library_dest}" mv libraylib.a "../../${wasm_library_dest}"
make --silent clean make --silent clean
popd popd
pushd raygui pushd raygui
echo "Compiling raygui static library for linux" echo "Compiling raygui static library for Linux"
gcc $CFLAGS -c -fPIC -x c -DRAYGUI_IMPLEMENTATION -I../raylib/src raygui.h -o raygui.o gcc $CFLAGS -c -fPIC -x c -DRAYGUI_IMPLEMENTATION -I../raylib/src raygui.h -o raygui.o
ar rcs ../${linux_library_dest}/libraygui.a raygui.o ar rcs ../${linux_library_dest}/libraygui.a raygui.o
rm raygui.o rm raygui.o
echo "Compiling raygui static library for Windows"
$windows_compiler $CFLAGS -c -fPIC -x c -DRAYGUI_IMPLEMENTATION -I../raylib/src raygui.h -o raygui.o
ar rcs ../${windows_library_dest}/libraygui.a raygui.o
rm raygui.o
echo "Compiling raygui static library for web" echo "Compiling raygui static library for web"
emcc $CFLAGS -c -x c -DRAYGUI_IMPLEMENTATION -DPLATFORM_WEB -I../raylib/src raygui.h -o raygui_wasm.o emcc $CFLAGS -c -x c -DRAYGUI_IMPLEMENTATION -DPLATFORM_WEB -I../raylib/src raygui.h -o raygui_wasm.o
emar rcs ../${wasm_library_dest}/libraygui.a raygui_wasm.o emar rcs ../${wasm_library_dest}/libraygui.a raygui_wasm.o

Binary file not shown.

Binary file not shown.