Skip to content

CMake Build Options

jestarray edited this page Oct 25, 2024 · 13 revisions

raylib is configurable and can be built in a variety of ways. Following is a listing of available CMake options and values, extracted from src/CMakeOptions.txt and src/config.h

You must define -DCUSTOMIZE_BUILD=ON in order for many of these options to apply.

TIP: You can use the curses UI provided by ccmake(1) for interactively configuring raylib.

Option Description Possible Values (first is default)
USE_EXTERNAL_GLFW Link raylib against system GLFW instead of embedded one OFF ON IF_POSSIBLE
PLATFORM Platform to build for. Desktop Web Android Raspberry Pi SDL
OPENGL_VERSION Force a specific OpenGL Version? OFF 4.3 3.3 2.1 1.1 ES 2.0 ES 3.0
BUILD_EXAMPLES Build examples OFF ON
Binary Option Description Default Value
GLFW_BUILD_WAYLAND Build the bundled GLFW with Wayland support OFF
GLFW_BUILD_X11 Build the bundled GLFW with X11 support OFF
WITH_PIC Compile static library as position-independent code OFF
BUILD_SHARED_LIBS Build raylib as a dynamic or static library OFF
USE_AUDIO Build raylib with audio module ON
SUPPORT_BUSY_WAIT_LOOP Use busy wait loop for timing sync instead of a high-resolution timer ON
SUPPORT_CAMERA_SYSTEM Provide camera module (camera.h) with multiple predefined cameras: free, 1st/3rd person, orbital ON
SUPPORT_DEFAULT_FONT Default font is loaded on window initialization to be available for the user to render simple text. If enabled, uses external module functions to load default raylib font (module: text) ON
SUPPORT_SCREEN_CAPTURE Allow automatic screen capture of current screen pressing F12, defined in KeyCallback() ON
SUPPORT_GIF_RECORDING Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback() ON
SUPPORT_GESTURES_SYSTEM Gestures module is included (gestures.h) to support gestures detection: tap, hold, swipe, drag ON
SUPPORT_MOUSE_GESTURES Mouse gestures are directly mapped like touches and processed by gestures system ON
SUPPORT_VR_SIMULATOR Support VR simulation functionality (stereo rendering) ON
SUPPORT_DISTORTION_SHADER Include stereo rendering distortion shader (shader_distortion.h) ON
SUPPORT_FONT_TEXTURE Draw rectangle shapes using font texture white character instead of default white texture. Allows drawing rectangles and text with a single draw call, very useful for GUI systems! ON
SUPPORT_QUADS_DRAW_MODE Use QUADS instead of TRIANGLES for drawing when possible. Some lines-based shapes could still use lines ON
SUPPORT_IMAGE_GENERATION Support procedural image generation functionality (gradient, spot, perlin-noise, cellular) ON
INCLUDE_EVERYTHING Include all optional off-by-default formats in build OFF
SUPPORT_FILEFORMAT_PNG Support loading PNG as textures ON
SUPPORT_FILEFORMAT_GIF Support loading GIF as textures ON
SUPPORT_FILEFORMAT_QOI Support loading QOI as textures ON
SUPPORT_FILEFORMAT_DDS Support loading DDS as textures ON
SUPPORT_FILEFORMAT_BMP Support loading BMP as textures OFF
SUPPORT_FILEFORMAT_TGA Support loading TGA as textures OFF
SUPPORT_FILEFORMAT_JPG Support loading JPG as textures OFF
SUPPORT_FILEFORMAT_PSD Support loading PSD as textures OFF
SUPPORT_FILEFORMAT_HDR Support loading HDR as textures OFF
SUPPORT_FILEFORMAT_PIC Support loading PIC as textures OFF
SUPPORT_FILEFORMAT_KTX Support loading KTX as textures OFF
SUPPORT_FILEFORMAT_ASTC Support loading ASTC as textures OFF
SUPPORT_FILEFORMAT_PKM Support loading PKM as textures OFF
SUPPORT_FILEFORMAT_PVR Support loading PVR as textures OFF
SUPPORT_FILEFORMAT_OBJ Support loading OBJ file format ON
SUPPORT_FILEFORMAT_MTL Support loading MTL file format ON
SUPPORT_FILEFORMAT_IQM Support loading IQM file format ON
SUPPORT_FILEFORMAT_GLTF Support loading GLTF file format ON
SUPPORT_FILEFORMAT_VOX Support loading VOX file format ON
SUPPORT_FILEFORMAT_M3D Support loading M3D file format ON
SUPPORT_MESH_GENERATION Support procedural mesh generation functions, uses external par_shapes.h library. NOTE: Some generated meshes DO NOT include generated texture coordinates ON
SUPPORT_FILEFORMAT_WAV Support loading WAV for sound ON
SUPPORT_FILEFORMAT_OGG Support loading OGG for sound ON
SUPPORT_FILEFORMAT_XM Support loading XM for sound ON
SUPPORT_FILEFORMAT_MOD Support loading MOD for sound ON
SUPPORT_FILEFORMAT_FLAC Support loading FLAC for sound OFF
SUPPORT_SAVE_PNG Support saving image data in PNG file format ON
SUPPORT_SAVE_BMP Support saving image data in BMP file format OFF
SUPPORT_TRACELOG Show TraceLog() output messages. NOTE: By default LOG_DEBUG traces not shown ON
SUPPORT_FILEFORMAT_FNT Support loading fonts in FNT format ON
SUPPORT_FILEFORMAT_TTF Support loading fonts in TTF format ON
SUPPORT_FILEFORMAT_BDF Support loading fonts in BDF format OFF
SUPPORT_IMAGE_MANIPULATION Support multiple image editing functions to scale, adjust colors, flip, draw on images, crop... If not defined only three image editing functions supported: ImageFormat(), ImageAlphaMask(), ImageToPOT() ON
Clone this wiki locally