- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 2.8k
CMake Build Options
        jestarray edited this page Jun 6, 2025 
        ·
        17 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 set CUSTOMIZE_BUILD to 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 | OFFONIF_POSSIBLE | 
| PLATFORM | Platform to build for. | DesktopWebAndroidRaspberry PiSDL | 
| OPENGL_VERSION | Force a specific OpenGL Version? | OFF4.33.32.11.1ES 2.0ES 3.0 | 
| BUILD_EXAMPLES | Build examples | OFFON | 
| 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 | 
| INCLUDE_EVERYTHING | Include all optional off-by-default formats in build | OFF | 
| USE_AUDIO | Build raylib with audio module | ON | 
| SUPPORT_MODULE_RSHAPES  | ... | ON | 
| SUPPORT_MODULE_RTEXTURES | ... | ON | 
| SUPPORT_MODULE_RTEXT | WARNING: It requires SUPPORT_MODULE_RTEXTURES to load sprite font textures | ON | 
| SUPPORT_MODULE_RMODELS | ... | ON | 
| SUPPORT_MODULE_RAUDIO | ... | 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_GESTURES_SYSTEM | Gestures module is included (gestures.h) to support gestures detection: tap, hold, swipe, drag | ON | 
| SUPPORT_RPRAND_GENERATOR | pseudo-random numbers generator (rprand.h), based on Xoshiro128** and SplitMix64 | ON | 
| SUPPORT_MOUSE_GESTURES | Mouse gestures are directly mapped like touches and processed by gestures system | ON | 
| SUPPORT_SSH_KEYBOARD_RPI | ... | ON | 
| SUPPORT_WINMM_HIGHRES_TIMER | ... | ON | 
| SUPPORT_PARTIALBUSY_WAIT_LOOP | ... | ON | 
| SUPPORT_GIF_RECORDING | Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback() | ON | 
| SUPPORT_COMPRESSION_API | ... | ON | 
| SUPPORT_AUTOMATION_EVENTS | ... | ON | 
| SUPPORT_CUSTOM_FRAME_CONTROL | ... | ON | 
| SUPPORT_CLIPBOARD_IMAGE | ... | ON | 
| SUPPORT_QUADS_DRAW_MODE | Use QUADS instead of TRIANGLES for drawing when possible. Some lines-based shapes could still use lines | ON | 
| SUPPORT_FILEFORMAT_PNG | Support loading PNG 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_GIF | Support loading GIF as textures | ON | 
| SUPPORT_FILEFORMAT_QOI | Support loading QOI as textures | ON | 
| SUPPORT_FILEFORMAT_PSD | Support loading PSD as textures | OFF | 
| SUPPORT_FILEFORMAT_DDS | Support loading DDS as textures | ON | 
| 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_IMAGE_EXPORT | ... | ON | 
| SUPPORT_IMAGE_GENERATION | Support procedural image generation functionality (gradient, spot, perlin-noise, cellular) | ON | 
| 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 | 
| 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_FILEFORMAT_TTF | Support loading fonts in TTF format | ON | 
| SUPPORT_FILEFORMAT_FNT | Support loading fonts in FNT format | ON | 
| SUPPORT_FILEFORMAT_BDF | Support loading fonts in BDF format | OFF | 
| SUPPORT_TEXT_MANIPULATION | ... | ON | 
| SUPPORT_FONT_ATLAS_WHITE_REC | 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_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_MP3 | Support loading MP3 for sound | ON | 
| SUPPORT_FILEFORMAT_QOA | Support loading QOA for sound | ON | 
| SUPPORT_FILEFORMAT_FLAC | Support loading FLAC for sound | OFF | 
| SUPPORT_FILEFORMAT_XM | Support loading XM for sound | ON | 
| SUPPORT_FILEFORMAT_MOD | Support loading MOD for sound | ON | 
| SUPPORT_STANDARD_FILEIO | Standard file io library (stdio.h) included. Warning: If off, raylib can't read files | ON | 
| 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_SCREEN_CAPTURE | Allow automatic screen capture of current screen pressing F12, defined in KeyCallback() | ON | 
www.raylib.com | itch.io | GitHub | Discord | YouTube
- Architecture
- Syntax analysis
- Data structures
- Enumerated types
- External dependencies
- GLFW dependency
- libc dependency
- Platforms and graphics
- Input system
- Default shader
- Custom shaders
- Coding conventions
- Integration with other libs
- Working on Windows
- Working on macOS
- Working on GNU Linux
- Working on Chrome OS
- Working on FreeBSD
- Working on Raspberry Pi
- Working for Android
- Working for Web (HTML5)
- Working on exaequOS Web Computer
- Creating Discord Activities
- Working anywhere with CMake
- CMake Build Options
- raylib templates: Get started easily
- How To: Quick C/C++ Setup in Visual Studio 2022, GCC or MinGW
- How To: C# Visual Studio Setup
- How To: VSCode
- How To: Eclipse
- How To: Sublime Text
- How To: Code::Blocks