CMake Options

From Minetest Developer Wiki
Jump to: navigation, search

This page is supposed to document the CMake switches you can use when building Minetest. These options are properly documented in the official README file. Since there can be some changes, this page might be outdated.


General options

Name Functionality Default Value
BUILD_CLIENT Build Minetest client YES
BUILD_SERVER Build Minetest server YES on Linux; NO on Windows
CMAKE_BUILD_TYPE Type of build (Release vs. Debug)
  • Release - Release build
  • Debug - Debug build
  • RelWithDebInfo - Release build with Debug information
  • MinSizeRel - Release build with smaller executable
ENABLE_CURL Build with cURL; Public serverlist and remote media fetching via HTTP YES
ENABLE_FREETYPE Build with Freetype2; TTF fonts NO
ENABLE_GETTEXT Build with Gettext; Translations NO
ENABLE_GLES Search for Open GLES headers & libraries and use them NO
ENABLE_LEVELDB Build with LevelDB; LevelDB map backend NO
ENABLE_REDIS Build with libhiredis; redis map backend YES
ENABLE_SOUND Build with OpenAL, libogg & libvorbis; in-game sounds YES
ENABLE_LUAJIT Build with LuaJIT; faster Lua execution YES
RUN_IN_PLACE Create a portable install (worlds, settings etc. in current directory) NO on Linux; YES on Windows
USE_GPROF Enable profiling using GProf NO
VERSION_EXTRA Text to append to version (e.g. VERSION_EXTRA=foobar -> Minetest 0.4.9-foobar)

Library specific


BZIP2_INCLUDE_DIR - Linux only; directory where bzlib.h is located

BZIP2_LIBRARY - Linux only; path to libbz2.a/

IRRLICHT_DLL - path to Irrlicht.dll

IRRLICHT_INCLUDE_DIR - directory that contains IrrCompileConfig.h

IRRLICHT_LIBRARY - path to libIrrlicht.a/

LUA_INCLUDE_DIR - Only if you want to use LuaJIT; directory where luajit.h is located

LUA_LIBRARY - Only if you want to use LuaJIT; path to libluajit.a/

MINGWM10_DLL - Only if compiling with MinGW; path to mingwm10.dll

SQLITE3_INCLUDE_DIR - Only if you want to use SQLite from your OS; directory that contains sqlite3.h

SQLITE3_LIBRARY - Only if you want to use the SQLite from your OS; path to libsqlite3.a/

XXF86VM_LIBRARY - Only on Linux; path to libXXf86vm.a/

ZLIB_DLL - Only on Windows; path to zlibwapi.dll

ZLIB_INCLUDE_DIR - directory where zlib.h is located

ZLIB_LIBRARY - path to libz.a/


CURL_DLL - Only on Windows; path to libcurl.dll

CURL_INCLUDE_DIR - directory where curl.h is located

CURL_LIBRARY - path to libcurl.a/


EGL_INCLUDE_DIR - directory that contains egl.h

EGL_LIBRARY - path to libEGL.a/

OPENGLES2_INCLUDE_DIR - directory that contains gl2.h

OPENGLES2_LIBRARY - path to libGLESv2.a/


FREETYPE_INCLUDE_DIR_freetype2 - directory that contains an freetype directory with files such as ftimage.h in it

FREETYPE_INCLUDE_DIR_ft2build - directory that contains ft2build.h

FREETYPE_LIBRARY - path to libfreetype.a/


GETTEXT_DLL - Only on Windows; path to libintl3.dll

GETTEXT_ICONV_DLL - Only on Windows; path to libiconv2.dll

GETTEXT_INCLUDE_DIR - directory that contains iconv.h

GETTEXT_LIBRARY - Only on Windows; path to libintl.dll.a

GETTEXT_MSGFMT - path to msgfmt/msgfmt.exe


LEVELDB_INCLUDE_DIR - directory that contains db.h

LEVELDB_LIBRARY - path to libleveldb.a/


REDIS_INCLUDE_DIR - directory that contains hiredis.h

REDIS_LIBRARY - path to libhiredis.a/


OGG_DLL - Only on Windows; path to libogg.dll

OGG_INCLUDE_DIR - directory that contains an ogg directory which contains ogg.h

OGG_LIBRARY - path to libogg.a/

OPENAL_DLL - Only on Windows; path to OpenAL32.dll

OPENAL_INCLUDE_DIR - directory that contains an AL directory which contains al.h

OPENAL_LIBRARY - path to libopenal.a/

VORBISFILE_DLL - Only on Windows; path to libvorbisfile-3.dll

VORBISFILE_LIBRARY - path to libvorbisfile.a/

VORBIS_DLL - Only on Windows; path to libvorbis-0.dll

VORBIS_INCLUDE_DIR - directory that contains a directory vorbis with vorbisenc.h inside

VORBIS_LIBRARY - path to libvorbis.a/

Personal tools