132 lines
4.0 KiB
Bash
132 lines
4.0 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
set -xu
|
||
|
|
||
|
mkdir -p lib/darwin/
|
||
|
|
||
|
clang++ -std=c++17 \
|
||
|
-c \
|
||
|
-O2 -fno-exceptions -fno-rtti \
|
||
|
-I./imgui \
|
||
|
./imgui/imgui.cpp \
|
||
|
./imgui/imgui_draw.cpp \
|
||
|
./imgui/imgui_tables.cpp \
|
||
|
./imgui/imgui_widgets.cpp \
|
||
|
./imgui/imgui_demo.cpp \
|
||
|
dcimgui.cpp
|
||
|
|
||
|
libtool -static -o ./lib/darwin/libdcimgui_arm64.a imgui.o imgui_draw.o imgui_tables.o imgui_widgets.o imgui_demo.o dcimgui.o
|
||
|
rm imgui.o imgui_draw.o imgui_tables.o imgui_widgets.o imgui_demo.o dcimgui.o
|
||
|
|
||
|
# clang++ -c \
|
||
|
# -O2 -fno-exceptions -fno-rtti \
|
||
|
# -I./imgui/ \
|
||
|
# -I./imgui/backends/ \
|
||
|
# # -I/usr/include/SDL3 \
|
||
|
# ./imgui/backends/imgui_impl_sdl3.cpp \
|
||
|
# ./sdl3/impl_sdl3.cpp
|
||
|
|
||
|
clang++ -std=c++17 \
|
||
|
-c \
|
||
|
-O2 -fno-exceptions -fno-rtti \
|
||
|
-I./imgui/ \
|
||
|
-I./imgui/backends/ \
|
||
|
$(sdl2-config --cflags) \
|
||
|
./imgui/backends/imgui_impl_sdl2.cpp \
|
||
|
./sdl2/impl_sdl2.cpp
|
||
|
|
||
|
libtool -static -o ./lib/darwin/libdcimgui_impl_sdl2_arm64.a imgui_impl_sdl2.o impl_sdl2.o
|
||
|
rm imgui_impl_sdl2.o impl_sdl2.o
|
||
|
|
||
|
clang++ -std=c++17 \
|
||
|
-c \
|
||
|
-O2 -fno-exceptions -fno-rtti \
|
||
|
-I./imgui/ \
|
||
|
-I./imgui/backends/ \
|
||
|
$(pkg-config --cflags glfw3) \
|
||
|
./imgui/backends/imgui_impl_glfw.cpp \
|
||
|
./glfw/impl_glfw.cpp
|
||
|
|
||
|
libtool -static -o ./lib/darwin/libdcimgui_impl_glfw_arm64.a imgui_impl_glfw.o impl_glfw.o
|
||
|
rm imgui_impl_glfw.o impl_glfw.o
|
||
|
|
||
|
clang++ -std=c++17 \
|
||
|
-c \
|
||
|
-O2 -fno-exceptions -fno-rtti \
|
||
|
-I./imgui/ \
|
||
|
-I./imgui/backends/ \
|
||
|
$(pkg-config --cflags vulkan) \
|
||
|
./imgui/backends/imgui_impl_vulkan.cpp \
|
||
|
./vulkan/impl_vulkan.cpp
|
||
|
|
||
|
libtool -static -o ./lib/darwin/libdcimgui_impl_vulkan_arm64.a imgui_impl_vulkan.o impl_vulkan.o
|
||
|
rm imgui_impl_vulkan.o impl_vulkan.o
|
||
|
|
||
|
clang++ -std=c++17 \
|
||
|
-c \
|
||
|
-O2 -fno-exceptions -fno-rtti \
|
||
|
-I./imgui/ \
|
||
|
-I./imgui/backends/ \
|
||
|
./imgui/backends/imgui_impl_opengl3.cpp \
|
||
|
./opengl3/impl_opengl3.cpp
|
||
|
|
||
|
libtool -static -o ./lib/darwin/libdcimgui_impl_opengl3_arm64.a imgui_impl_opengl3.o impl_opengl3.o
|
||
|
rm imgui_impl_opengl3.o impl_opengl3.o
|
||
|
|
||
|
clang++ -c \
|
||
|
-ObjC++ \
|
||
|
-O2 -fno-exceptions -fno-rtti \
|
||
|
-std=c++17 \
|
||
|
-arch arm64 \
|
||
|
-DIMGUI_IMPL_METAL_CPP=1\
|
||
|
-I"$METAL_CPP_DIR" \
|
||
|
-I./imgui/ \
|
||
|
-I./imgui/backends/ \
|
||
|
imgui/backends/imgui_impl_metal.mm
|
||
|
|
||
|
clang++ -c -std=c++17 \
|
||
|
-O2 -fno-exceptions -fno-rtti \
|
||
|
-arch arm64 \
|
||
|
-I"$METAL_CPP_DIR" \
|
||
|
-DIMGUI_IMPL_METAL_CPP=1\
|
||
|
-I./imgui/ \
|
||
|
-I./imgui/backends/ \
|
||
|
./metal/impl_metal.cpp
|
||
|
|
||
|
libtool -static -o ./lib/darwin/libdcimgui_impl_metal_arm64.a imgui_impl_metal.o impl_metal.o
|
||
|
rm imgui_impl_metal.o impl_metal.o
|
||
|
|
||
|
# clang++
|
||
|
# -framework CoreGraphics -framework CoreVideo -framework Metal -framework MetalKit -framework Cocoa \
|
||
|
# -std=c++17 -I ../../Downloads/metal-cpp/ impl_metal.o -DIMGUI_IMPL_METAL_CPP^C
|
||
|
|
||
|
mkdir -p examples_macos_exec
|
||
|
|
||
|
odin build examples/impl_glfw_opengl3.odin -file -out:examples_macos_exec/glfw_opengl3 -extra-linker-flags:-lstdc++
|
||
|
odin build examples/impl_glfw_vulkan.odin -file -out:examples_macos_exec/glfw_vulkan -extra-linker-flags:"-lstdc++ -lvulkan"
|
||
|
odin build examples/impl_glfw_metal.odin -file -out:examples_macos_exec/glfw_metal -extra-linker-flags:"-lstdc++"
|
||
|
|
||
|
odin build examples/impl_sdl2_opengl3.odin -file -out:examples_macos_exec/sdl2_opengl3 -extra-linker-flags:-lstdc++
|
||
|
odin build examples/impl_sdl2_vulkan.odin -file -out:examples_macos_exec/sdl2_vulkan -extra-linker-flags:"-lstdc++ -lvulkan"
|
||
|
odin build examples/impl_sdl2_metal.odin -file -out:examples_macos_exec/sdl2_metal -extra-linker-flags:"-lstdc++" # -print-linker-flags
|
||
|
|
||
|
|
||
|
# clang++ -std=c++17 -undefined dynamic_lookup -fPIC \
|
||
|
# -o ./lib/libdcimgui_impl_sdl2.dylib \
|
||
|
# -I./imgui/ \
|
||
|
# -I./imgui/backends/ \
|
||
|
# -I/opt/homebrew/Cellar/sdl2/2.30.10/include/SDL2 \
|
||
|
# -L/opt/homebrew/Cellar/sdl2/2.30.10/lib/ \
|
||
|
# -lSDL2 \
|
||
|
# ./imgui/backends/imgui_impl_sdl2.cpp \
|
||
|
# ./sdl2/impl_sdl2.cpp
|
||
|
|
||
|
# clang++ -std=c++17 -undefined dynamic_lookup -fPIC \
|
||
|
# -o ./lib/libdcimgui_impl_glfw_arm64.dylib \
|
||
|
# -I./imgui/ \
|
||
|
# -I./imgui/backends/ \
|
||
|
# -I/opt/homebrew/Cellar/glfw/3.4/include/ \
|
||
|
# ./imgui/backends/imgui_impl_glfw.cpp \
|
||
|
# ./glfw/impl_glfw.cpp
|
||
|
|