Difference between revisions of "CMake Options"

From Minetest Developer Wiki
Jump to navigation Jump to search
Line 3: Line 3:
 
== General options ==
 
== General options ==
  
<code>BUILD_CLIENT</code> - Build Minetest client?
+
<code>BUILD_CLIENT</code> - Build Minetest client
  
<code>BUILD_SERVER</code> - Build Minetest server?
+
<code>BUILD_SERVER</code> - Build Minetest server
  
 
<code>CMAKE_BUILD_TYPE</code> - Type of build (Release vs. Debug)
 
<code>CMAKE_BUILD_TYPE</code> - Type of build (Release vs. Debug)
Line 13: Line 13:
 
* ''MinSizeRel'' - Release build with <code>-Os</code> passed to compiler to make executable as small as possible
 
* ''MinSizeRel'' - Release build with <code>-Os</code> passed to compiler to make executable as small as possible
  
<code>ENABLE_CURL</code> - Whether to build with cURL; Enables use of online mod repo, public serverlist and remote media fetching via http.
+
<code>ENABLE_CURL</code> - Build with cURL; Enables use of online mod repo, public serverlist and remote media fetching via http
  
<code>ENABLE_FREETYPE</code> - Whether to build with Freetype2; Allows using TTF fonts
+
<code>ENABLE_FREETYPE</code> - Build with Freetype2; Allows using TTF fonts
  
<code>ENABLE_GETTEXT</code> - Whether to build with Gettext; Allows using translations
+
<code>ENABLE_GETTEXT</code> - Build with Gettext; Allows using translations
  
<code>ENABLE_GLES</code> - Whether to search for Open GLES headers & libraries and use them
+
<code>ENABLE_GLES</code> - Search for Open GLES headers & libraries and use them
  
<code>ENABLE_LEVELDB</code> - Whether to build with LevelDB; Enables use of LevelDB, which is much faster than SQLite, as map backend
+
<code>ENABLE_LEVELDB</code> - Build with LevelDB; Enables use of LevelDB, which is much faster than SQLite, as map backend
  
<code>ENABLE_SOUND</code> - Whether to build with OpenAL, libogg & libvorbis; in-game Sounds
+
<code>ENABLE_SOUND</code> - Build with OpenAL, libogg & libvorbis; in-game Sounds
  
<code>RUN_IN_PLACE</code> - Whether to create a portable install (worlds, settings etc. in current directory)
+
<code>DISABLE_LUAJIT</code> - Do ''not'' search for LuaJIT headers & library
 +
 
 +
<code>RUN_IN_PLACE</code> - Create a portable install (worlds, settings etc. in current directory)
  
 
<code>USE_GPROF</code> - Enable profiling using GProf
 
<code>USE_GPROF</code> - Enable profiling using GProf
Line 45: Line 47:
 
<code>EGL_INCLUDE_DIR</code> - Only if building with GLES; directory that contains ''egl.h''
 
<code>EGL_INCLUDE_DIR</code> - Only if building with GLES; directory that contains ''egl.h''
  
<code>EGL_LIBRARY</code> - Only if building with GLES; path to ''libEGL.a''/''libEGL.so''
+
<code>EGL_egl_LIBRARY</code> - Only if building with GLES; path to ''libEGL.a''/''libEGL.so''
  
 
<code>FREETYPE_INCLUDE_DIR_freetype2</code> - Only if building with Freetype2; directory that contains an ''freetype'' directory with files such as ''ftimage.h'' in it
 
<code>FREETYPE_INCLUDE_DIR_freetype2</code> - Only if building with Freetype2; directory that contains an ''freetype'' directory with files such as ''ftimage.h'' in it
Line 90: Line 92:
  
 
<code>OPENAL_LIBRARY</code> - Only if building with sound; path to ''libopenal.a''/''libopenal.so''/''OpenAL32.lib''
 
<code>OPENAL_LIBRARY</code> - Only if building with sound; path to ''libopenal.a''/''libopenal.so''/''OpenAL32.lib''
 +
 +
<code>OPENGLES2_INCLUDE_DIR</code> - Only if building with GLES; directory that contains ''gl2.h''
 +
 +
<code>OPENGLES2_gl_LIBRARY</code> - Only if building with GLES; path to ''libGLESv2.a''/''libGLESv2.so''
  
 
<code>SQLITE3_INCLUDE_DIR</code> - Only if you want to use SQLite from your OS; directory that contains ''sqlite3.h''
 
<code>SQLITE3_INCLUDE_DIR</code> - Only if you want to use SQLite from your OS; directory that contains ''sqlite3.h''

Revision as of 18:04, 3 March 2014

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

General options

BUILD_CLIENT - Build Minetest client

BUILD_SERVER - Build Minetest server

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

ENABLE_CURL - Build with cURL; Enables use of online mod repo, public serverlist and remote media fetching via http

ENABLE_FREETYPE - Build with Freetype2; Allows using TTF fonts

ENABLE_GETTEXT - Build with Gettext; Allows using translations

ENABLE_GLES - Search for Open GLES headers & libraries and use them

ENABLE_LEVELDB - Build with LevelDB; Enables use of LevelDB, which is much faster than SQLite, as map backend

ENABLE_SOUND - Build with OpenAL, libogg & libvorbis; in-game Sounds

DISABLE_LUAJIT - Do not search for LuaJIT headers & library

RUN_IN_PLACE - Create a portable install (worlds, settings etc. in current directory)

USE_GPROF - Enable profiling using GProf

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

CURL_DLL - Only if building with cURL on Windows; path to libcurl.dll

CURL_INCLUDE_DIR - Only if building with cURL; directory where curl.h is located

CURL_LIBRARY - Only if building with cURL; path to libcurl.a/libcurl.so/libcurl.lib

EGL_INCLUDE_DIR - Only if building with GLES; directory that contains egl.h

EGL_egl_LIBRARY - Only if building with GLES; path to libEGL.a/libEGL.so

FREETYPE_INCLUDE_DIR_freetype2 - Only if building with Freetype2; directory that contains an freetype directory with files such as ftimage.h in it

FREETYPE_INCLUDE_DIR_ft2build - Only if building with Freetype2; directory that contains ft2build.h

FREETYPE_LIBRARY - Only if building with Freetype2; path to libfreetype.a/libfreetype.so/freetype.lib

GETTEXT_DLL - Only when building with Gettext on Windows; path to libintl3.dll

GETTEXT_ICONV_DLL - Only when building with Gettext on Windows; path to libiconv2.dll

GETTEXT_INCLUDE_DIR - Only when building with Gettext; directory that contains iconv.h

GETTEXT_LIBRARY - Only when building with Gettext on Windows; path to libintl.dll.a

GETTEXT_MSGFMT - Only when building with Gettext; path to msgfmt/msgfmt.exe

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

LEVELDB_INCLUDE_DIR - Only when building with LevelDB; directory that contains db.h

LEVELDB_LIBRARY - Only when building with LevelDB; path to libleveldb.a/libleveldb.so/libleveldb.dll

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

OGG_DLL - Only if building with sound on Windows; path to libogg.dll

OGG_INCLUDE_DIR - Only if building with sound; directory that contains an ogg directory which contains ogg.h

OGG_LIBRARY - Only if building with sound; path to libogg.a/libogg.so/libogg.dll.a

OPENAL_DLL - Only if building with sound on Windows; path to OpenAL32.dll

OPENAL_INCLUDE_DIR - Only if building with sound; directory where al.h is located

OPENAL_LIBRARY - Only if building with sound; path to libopenal.a/libopenal.so/OpenAL32.lib

OPENGLES2_INCLUDE_DIR - Only if building with GLES; directory that contains gl2.h

OPENGLES2_gl_LIBRARY - Only if building with GLES; path to libGLESv2.a/libGLESv2.so

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

VORBISFILE_DLL - Only if building with sound on Windows; path to libvorbisfile-3.dll

VORBISFILE_LIBRARY - Only if building with sound; path to libvorbisfile.a/libvorbisfile.so/libvorbisfile.dll.a

VORBIS_DLL - Only if building with sound on Windows; path to libvorbis-0.dll

VORBIS_INCLUDE_DIR - Only if building with sound; directory that contains a directory vorbis with vorbisenc.h inside

VORBIS_LIBRARY - Only if building with sound; path to libvorbis.a/libvorbis.so/libvorbis.dll.a

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