macOSでコンパイル可能に

This commit is contained in:
2026-05-27 14:59:34 +09:00
parent 9b544ce55d
commit 4e51644fa1
5 changed files with 67 additions and 0 deletions

32
make-macos.sh Executable file
View File

@@ -0,0 +1,32 @@
#!/bin/sh
c++ -O3 -I/usr/include -I/usr/local/include -L/usr/lib -L/usr/local/lib -I/opt/homebrew/opt/ncurses/include -L/opt/homebrew/opt/ncurses/lib -o hexagon main.cc src/*.cc -std=c++17 -lncursesw
strip hexagon
mkdir -p Hexagon.app/Contents/MacOS
mkdir -p Hexagon.app/Contents/Resources
mkdir -p Hexagon.app/Contents/Frameworks
cp macos/Hexagon.icns Hexagon.app/Contents/Resources/
cp macos/Info.plist Hexagon.app/Contents/
mv hexagon Hexagon.app/Contents/MacOS/hexagon_real
cp macos/hexagon.sh Hexagon.app/Contents/MacOS/hexagon
chmod +x Hexagon.app/Contents/MacOS/hexagon
chmod +x Hexagon.app/Contents/MacOS/hexagon_real
cd Hexagon.app/Contents/MacOS
install_name_tool -change \
/opt/homebrew/opt/ncurses/lib/libncursesw.6.dylib \
@executable_path/../Frameworks/libncursesw.6.dylib \
hexagon_real
cp /opt/homebrew/opt/ncurses/lib/libncursesw.6.dylib \
../Frameworks/
install_name_tool -id @rpath/libncursesw.6.dylib \
../Frameworks/libncursesw.6.dylib
cd ../../..
codesign --force --deep --sign - Hexagon.app/Contents/MacOS/hexagon_real
codesign --force --deep --sign - Hexagon.app/Contents/Frameworks/libncursesw.6.dylib
tar zcfv hexagon-macos-aarch64.tar.gz Hexagon.app
rm -rf Hexagon.app