mirror of
https://github.com/luanti-org/luanti.git
synced 2025-12-22 14:45:27 +01:00
2.7 KiB
2.7 KiB
Compiling on MacOS
Requirements
Install dependencies with homebrew:
brew install cmake freetype gettext gmp hiredis jpeg-turbo jsoncpp leveldb libogg libpng libvorbis luajit zstd gettext sdl2 openal-soft
Download
Download source (this is the URL to the latest of source repository, which might not work at all times) using Git:
git clone --depth 1 https://github.com/luanti-org/luanti luanti
cd luanti
Building for personal usage
Build
mkdir build
cd build
cmake .. \
-DCMAKE_FIND_FRAMEWORK=LAST \
-DCMAKE_INSTALL_PREFIX=../build/macos/ \
-DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE
make -j$(sysctl -n hw.logicalcpu)
make install
# Apple Silicon (M1/M2) Macs w/ MacOS >= BigSur signature for local run
codesign --force --deep -s - --entitlements ../misc/macos/entitlements/debug.entitlements macos/luanti.app
If you are using LuaJIT with MAP_JIT support use debug_map_jit.entitlements.
Run
open ./build/macos/luanti.app
Building for distribution
Generate Xcode project
mkdir build
cd build
cmake .. \
-DCMAKE_FIND_FRAMEWORK=LAST \
-DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE \
-DFREETYPE_LIBRARY=/path/to/lib/dir/libfreetype.a \
-DGETTEXT_INCLUDE_DIR=/path/to/include/dir \
-DGETTEXT_LIBRARY=/path/to/lib/dir/libintl.a \
-DLUA_LIBRARY=/path/to/lib/dir/libluajit-5.1.a \
-DOGG_LIBRARY=/path/to/lib/dir/libogg.a \
-DVORBIS_LIBRARY=/path/to/lib/dir/libvorbis.a \
-DVORBISFILE_LIBRARY=/path/to/lib/dir/libvorbisfile.a \
-DOPENAL_LIBRARY=/path/to/lib/dir/libopenal.a \
-DOPENAL_INCLUDE_DIR=/path/to/include/dir/AL \
-DZSTD_LIBRARY=/path/to/lib/dir/libzstd.a \
-DGMP_LIBRARY=/path/to/lib/dir/libgmp.a \
-DJSON_LIBRARY=/path/to/lib/dir/libjsoncpp.a \
-DENABLE_LEVELDB=OFF \
-DENABLE_POSTGRESQL=OFF \
-DENABLE_REDIS=OFF \
-DJPEG_LIBRARY=/path/to/lib/dir/libjpeg.a \
-DPNG_LIBRARY=/path/to/lib/dir/libpng.a \
-DCMAKE_EXE_LINKER_FLAGS=-lbz2\
-GXcode
If you are using LuaJIT with MAP_JIT support add -DXCODE_CODE_SIGN_ENTITLEMENTS=../misc/macos/entitlements/release_map_jit.entitlements.
WARNING: You have to regenerate Xcode project if you switch commit, branch or etc.
Build and Run
- Open generated Xcode project
- Select scheme
luanti - Configure signing Team etc.
- Run Build command
- Open application from
build/build/Debug/directory or run it from Xcode
Archive and Run
- Open generated Xcode project
- Select scheme
luanti - Configure signing Team etc.
- Run Build command
- Open application archive in finder, go into it, copy application and test it.