Difference between revisions of "CMake Options"

From Minetest Developer Wiki
Jump to navigation Jump to search
m
(Add CMake flags for redis)
Line 41: Line 41:
 
|-
 
|-
 
|<code>ENABLE_LEVELDB</code>
 
|<code>ENABLE_LEVELDB</code>
|Build with LevelDB; Enables use of LevelDB, which is much faster than SQLite, as map backend
+
|Build with LevelDB; Enables use of LevelDB map backend
 
|NO
 
|NO
 +
|-
 +
|<code>ENABLE_REDIS</code>
 +
|Build with HiRedis; Enables use of redis map backend
 +
|YES
 
|-
 
|-
 
|<code>ENABLE_SOUND</code>
 
|<code>ENABLE_SOUND</code>
Line 138: Line 142:
  
 
<code>LEVELDB_LIBRARY</code> - path to ''libleveldb.a''/''libleveldb.so''/''libleveldb.dll''
 
<code>LEVELDB_LIBRARY</code> - path to ''libleveldb.a''/''libleveldb.so''/''libleveldb.dll''
 +
 +
=== LevelDB ===
 +
 +
<code>REDIS_INCLUDE_DIR</code> - directory that contains ''hiredis.h''
 +
 +
<code>REDIS_LIBRARY</code> - path to ''libhiredis.a''/''libhiredis.so''
  
 
=== Sound ===
 
=== Sound ===

Revision as of 07:03, 23 April 2014

This page is supposed to document the cmake switches you can use when building Minetest.

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 -Os passed to compiler to make executable as small as possible
Release
ENABLE_CURL Build with cURL; Enables use of online mod repo, public serverlist and remote media fetching via http YES
ENABLE_FREETYPE Build with Freetype2; Allows using TTF fonts NO
ENABLE_GETTEXT Build with Gettext; Allows using translations NO
ENABLE_GLES Search for Open GLES headers & libraries and use them NO
ENABLE_LEVELDB Build with LevelDB; Enables use of LevelDB map backend NO
ENABLE_REDIS Build with HiRedis; Enables use of redis map backend YES
ENABLE_SOUND Build with OpenAL, libogg & libvorbis; in-game Sounds YES
DISABLE_LUAJIT Do not search for LuaJIT headers & library NO
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

General

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

BZIP2_LIBRARY - Linux only; path to libbz2.a/libbz2.so

IRRLICHT_DLL - path to Irrlicht.dll

IRRLICHT_INCLUDE_DIR - directory that contains IrrCompileConfig.h

IRRLICHT_LIBRARY - path to libIrrlicht.a/libIrrlicht.so/libIrrlicht.dll.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/libluajit.so

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/libsqlite3.so

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

ZLIB_DLL - Only on Windows; path to zlibwapi.dll

ZLIB_INCLUDE_DIR - directory where zlib.h is located

ZLIB_LIBRARY - path to libz.a/libz.so/zlibwapi.lib

cURL

CURL_DLL - Only on Windows; path to libcurl.dll

CURL_INCLUDE_DIR - directory where curl.h is located

CURL_LIBRARY - path to libcurl.a/libcurl.so/libcurl.lib

GLES

EGL_INCLUDE_DIR - directory that contains egl.h

EGL_egl_LIBRARY - path to libEGL.a/libEGL.so

OPENGLES2_INCLUDE_DIR - directory that contains gl2.h

OPENGLES2_gl_LIBRARY - path to libGLESv2.a/libGLESv2.so

Freetype2

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/libfreetype.so/freetype.lib

Gettext

GETTEXT_DLL - Only om 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

LEVELDB_INCLUDE_DIR - directory that contains db.h

LEVELDB_LIBRARY - path to libleveldb.a/libleveldb.so/libleveldb.dll

LevelDB

REDIS_INCLUDE_DIR - directory that contains hiredis.h

REDIS_LIBRARY - path to libhiredis.a/libhiredis.so

Sound

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/libogg.so/libogg.dll.a

OPENAL_DLL - Only on Windows; path to OpenAL32.dll

OPENAL_INCLUDE_DIR - directory where al.h is located

OPENAL_LIBRARY - path to libopenal.a/libopenal.so/OpenAL32.lib

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

VORBISFILE_LIBRARY - path to libvorbisfile.a/libvorbisfile.so/libvorbisfile.dll.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/libvorbis.so/libvorbis.dll.a