Difference between revisions of "CMake Options"

From Minetest Developer Wiki
Jump to navigation Jump to search
m
(Reference to README, mark as obsolete.)
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This page is supposed to document the CMake switches you can use when building Minetest.
+
This page is supposed to document the CMake switches you can use when building Minetest. These options are properly documented in the [https://github.com/minetest/minetest/blob/master/README.txt#L165-L245 official README file]. Since there can be some changes, this page might be outdated.
 +
 
 +
 
  
 
== General options ==
 
== General options ==
Line 21: Line 23:
 
* ''Debug'' - Debug build
 
* ''Debug'' - Debug build
 
* ''RelWithDebInfo'' - Release build with Debug information
 
* ''RelWithDebInfo'' - Release build with Debug information
* ''MinSizeRel'' - Release build with <code>-Os</code> passed to compiler to make executable as small as possible
+
* ''MinSizeRel'' - Release build with smaller executable
 
|Release
 
|Release
 
|-
 
|-
 
|<code>ENABLE_CURL</code>
 
|<code>ENABLE_CURL</code>
|Build with cURL; Enables use of online mod repo, public serverlist and remote media fetching via http
+
|Build with cURL; Public serverlist and remote media fetching via HTTP
 
|YES
 
|YES
 
|-
 
|-
 
|<code>ENABLE_FREETYPE</code>
 
|<code>ENABLE_FREETYPE</code>
|Build with Freetype2; Allows using TTF fonts
+
|Build with Freetype2; TTF fonts
 
|NO
 
|NO
 
|-
 
|-
 
|<code>ENABLE_GETTEXT</code>
 
|<code>ENABLE_GETTEXT</code>
|Build with Gettext; Allows using translations
+
|Build with Gettext; Translations
 
|NO
 
|NO
 
|-
 
|-
Line 41: Line 43:
 
|-
 
|-
 
|<code>ENABLE_LEVELDB</code>
 
|<code>ENABLE_LEVELDB</code>
|Build with LevelDB; Enables use of LevelDB map backend
+
|Build with LevelDB; LevelDB map backend
 
|NO
 
|NO
 
|-
 
|-
 
|<code>ENABLE_REDIS</code>
 
|<code>ENABLE_REDIS</code>
|Build with HiRedis; Enables use of redis map backend
+
|Build with libhiredis; redis map backend
 
|YES
 
|YES
 
|-
 
|-
 
|<code>ENABLE_SOUND</code>
 
|<code>ENABLE_SOUND</code>
|Build with OpenAL, libogg & libvorbis; in-game Sounds
+
|Build with OpenAL, libogg & libvorbis; in-game sounds
 
|YES
 
|YES
 
|-
 
|-
|<code>DISABLE_LUAJIT</code>
+
|<code>ENABLE_LUAJIT</code>
|Do ''not'' search for LuaJIT headers & library
+
|Build with LuaJIT; faster Lua execution
|NO
+
|YES
 
|-
 
|-
 
|<code>RUN_IN_PLACE</code>
 
|<code>RUN_IN_PLACE</code>
Line 107: Line 109:
 
<code>CURL_LIBRARY</code> - path to ''libcurl.a''/''libcurl.so''/''libcurl.lib''
 
<code>CURL_LIBRARY</code> - path to ''libcurl.a''/''libcurl.so''/''libcurl.lib''
  
=== GLES ===
+
=== OpenGL ES ===
  
 
<code>EGL_INCLUDE_DIR</code> - directory that contains ''egl.h''
 
<code>EGL_INCLUDE_DIR</code> - directory that contains ''egl.h''
  
<code>EGL_egl_LIBRARY</code> - path to ''libEGL.a''/''libEGL.so''
+
<code>EGL_LIBRARY</code> - path to ''libEGL.a''/''libEGL.so''
  
 
<code>OPENGLES2_INCLUDE_DIR</code> - directory that contains ''gl2.h''
 
<code>OPENGLES2_INCLUDE_DIR</code> - directory that contains ''gl2.h''
  
<code>OPENGLES2_gl_LIBRARY</code> - path to ''libGLESv2.a''/''libGLESv2.so''
+
<code>OPENGLES2_LIBRARY</code> - path to ''libGLESv2.a''/''libGLESv2.so''
  
 
=== Freetype2 ===
 
=== Freetype2 ===
Line 127: Line 129:
 
=== Gettext ===
 
=== Gettext ===
  
<code>GETTEXT_DLL</code> - Only om '''Windows'''; path to ''libintl3.dll''
+
<code>GETTEXT_DLL</code> - Only on '''Windows'''; path to ''libintl3.dll''
  
 
<code>GETTEXT_ICONV_DLL</code> - Only on '''Windows'''; path to ''libiconv2.dll''
 
<code>GETTEXT_ICONV_DLL</code> - Only on '''Windows'''; path to ''libiconv2.dll''
Line 143: Line 145:
 
<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 ===
+
=== Redis ===
  
 
<code>REDIS_INCLUDE_DIR</code> - directory that contains ''hiredis.h''
 
<code>REDIS_INCLUDE_DIR</code> - directory that contains ''hiredis.h''
Line 159: Line 161:
 
<code>OPENAL_DLL</code> - Only on '''Windows'''; path to ''OpenAL32.dll''
 
<code>OPENAL_DLL</code> - Only on '''Windows'''; path to ''OpenAL32.dll''
  
<code>OPENAL_INCLUDE_DIR</code> - directory where ''al.h'' is located
+
<code>OPENAL_INCLUDE_DIR</code> - directory that contains an ''AL'' directory which contains ''al.h''
  
 
<code>OPENAL_LIBRARY</code> - path to ''libopenal.a''/''libopenal.so''/''OpenAL32.lib''
 
<code>OPENAL_LIBRARY</code> - path to ''libopenal.a''/''libopenal.so''/''OpenAL32.lib''
Line 172: Line 174:
  
 
<code>VORBIS_LIBRARY</code> - path to ''libvorbis.a''/''libvorbis.so''/''libvorbis.dll.a''
 
<code>VORBIS_LIBRARY</code> - path to ''libvorbis.a''/''libvorbis.so''/''libvorbis.dll.a''
 +
 +
[[Category:Compiling Minetest]]
 +
[[Category:Obsolete]]

Revision as of 20:43, 15 April 2017

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
Release
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

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

OpenGL ES

EGL_INCLUDE_DIR - directory that contains egl.h

EGL_LIBRARY - path to libEGL.a/libEGL.so

OPENGLES2_INCLUDE_DIR - directory that contains gl2.h

OPENGLES2_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 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

LEVELDB_INCLUDE_DIR - directory that contains db.h

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

Redis

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 that contains an AL directory which contains al.h

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