| 1 | #!/bin/sh |
| 2 | |
| 3 | 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 |
| 4 | strip hexagon |
| 5 | |
| 6 | mkdir -p Hexagon.app/Contents/MacOS |
| 7 | mkdir -p Hexagon.app/Contents/Resources |
| 8 | mkdir -p Hexagon.app/Contents/Frameworks |
| 9 | cp macos/Hexagon.icns Hexagon.app/Contents/Resources/ |
| 10 | cp macos/Info.plist Hexagon.app/Contents/ |
| 11 | mv hexagon Hexagon.app/Contents/MacOS/hexagon_real |
| 12 | cp macos/hexagon.sh Hexagon.app/Contents/MacOS/hexagon |
| 13 | chmod +x Hexagon.app/Contents/MacOS/hexagon |
| 14 | chmod +x Hexagon.app/Contents/MacOS/hexagon_real |
| 15 | |
| 16 | cd Hexagon.app/Contents/MacOS |
| 17 | install_name_tool -change \ |
| 18 | /opt/homebrew/opt/ncurses/lib/libncursesw.6.dylib \ |
| 19 | @executable_path/../Frameworks/libncursesw.6.dylib \ |
| 20 | hexagon_real |
| 21 | |
| 22 | cp /opt/homebrew/opt/ncurses/lib/libncursesw.6.dylib \ |
| 23 | ../Frameworks/ |
| 24 | install_name_tool -id @rpath/libncursesw.6.dylib \ |
| 25 | ../Frameworks/libncursesw.6.dylib |
| 26 | |
| 27 | cd ../../.. |
| 28 | codesign --force --deep --sign - Hexagon.app/Contents/MacOS/hexagon_real |
| 29 | codesign --force --deep --sign - Hexagon.app/Contents/Frameworks/libncursesw.6.dylib |
| 30 | |
| 31 | tar zcfv hexagon-macos-aarch64.tar.gz Hexagon.app |
| 32 | rm -rf Hexagon.app |