I'm trying to install luanti from source for a project, but the cmake command isn't working (i'm on mac).
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
codesign --force --deep -s - --entitlements ../misc/macos/entitlements/debug.entitlements macos/luanti.app
It gives this error:
-- Looking for ZSTD_initCStream
-- Looking for ZSTD_initCStream - not found
CMake Error at /opt/homebrew/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:227 (message):
Could NOT find Zstd (missing: ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
Call Stack (most recent call first):
/opt/homebrew/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:591 (_FPHSA_FAILURE_MESSAGE)
cmake/Modules/FindZstd.cmake:24 (find_package_handle_standard_args)
src/CMakeLists.txt:267 (find_package)
I figured out the issue: I just changed the code in FindZstd.cmake to use the correct paths. Just in case anyone trying to build luanti from source finds this, here is the correct code (for apple silicon mac):
find_path(ZSTD_INCLUDE_DIR zstd.h
PATHS /opt/homebrew/include
NO_DEFAULT_PATH)
find_library(ZSTD_LIBRARY zstd
PATHS /opt/homebrew/lib
NO_DEFAULT_PATH)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Zstd REQUIRED_VARS ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
mark_as_advanced(ZSTD_INCLUDE_DIR ZSTD_LIBRARY)