building raylib for windows
This commit is contained in:
parent
81a7b8fbfd
commit
82e02c98a4
4 changed files with 41 additions and 6 deletions
28
build_windows.sh
Executable file
28
build_windows.sh
Executable 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
|
||||
|
|
@ -5,6 +5,7 @@ set -euo pipefail
|
|||
emsdk_env="$HOME/programs/emsdk/emsdk_env.sh"
|
||||
linux_library_dest="linux"
|
||||
windows_library_dest="windows"
|
||||
windows_compiler="x86_64-w64-mingw32-gcc"
|
||||
darwin_library_dest="darwin"
|
||||
wasm_library_dest="wasm"
|
||||
|
||||
|
|
@ -100,29 +101,35 @@ mkdir -p $wasm_library_dest
|
|||
source $emsdk_env
|
||||
|
||||
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
|
||||
mv libraylib.a "../../${linux_library_dest}"
|
||||
make --silent clean
|
||||
|
||||
# echo "Compiling static library for windows"
|
||||
# make --silent $modules RAYLIB_CONFIG_FLAGS="$config_cflags" CC=x86_64-w64-mingw32-gcc PLATFORM_OS=WINDOWS
|
||||
# mv libraylib.a $windows_library_dest
|
||||
# make --silent clean
|
||||
echo "Compiling raylib static library for 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}"
|
||||
make --silent clean
|
||||
|
||||
echo "Compiling raylib static library for web"
|
||||
make --silent RAYLIB_CONFIG_FLAGS="$CONFIG_FLAGS" CUSTOM_CFLAGS="$CFLAGS" $MAKE_FLAGS PLATFORM=PLATFORM_WEB -B
|
||||
mv libraylib.web.a libraylib.a
|
||||
mv libraylib.a "../../${wasm_library_dest}"
|
||||
make --silent clean
|
||||
|
||||
popd
|
||||
|
||||
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
|
||||
ar rcs ../${linux_library_dest}/libraygui.a 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"
|
||||
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
|
||||
|
|
|
|||
BIN
src/libraries/raylib/windows/libraygui.a
Normal file
BIN
src/libraries/raylib/windows/libraygui.a
Normal file
Binary file not shown.
BIN
src/libraries/raylib/windows/libraylib.a
Normal file
BIN
src/libraries/raylib/windows/libraylib.a
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue