summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CMakeOptions.txt92
-rw-r--r--cmake/CompileDefinitions.cmake109
-rw-r--r--cmake/LibraryConfigurations.cmake5
-rw-r--r--src/CMakeLists.txt7
-rw-r--r--src/config.h9
-rw-r--r--src/config.h.in91
-rw-r--r--src/rlgl.h2
7 files changed, 158 insertions, 157 deletions
diff --git a/CMakeOptions.txt b/CMakeOptions.txt
index 7ab43de2..d60ca2b7 100644
--- a/CMakeOptions.txt
+++ b/CMakeOptions.txt
@@ -8,6 +8,7 @@ enum_option(OPENGL_VERSION "OFF;3.3;2.1;1.1;ES 2.0" "Force a specific OpenGL Ver
# Configuration options
option(BUILD_EXAMPLES "Build the examples." ${RAYLIB_IS_MAIN})
+option(CUSTOMIZE_BUILD "Show options for customizing your Raylib library build." OFF)
option(ENABLE_ASAN "Enable AddressSanitizer (ASAN) for debugging (degrades performance)" OFF)
option(ENABLE_UBSAN "Enable UndefinedBehaviorSanitizer (UBSan) for debugging" OFF)
option(ENABLE_MSAN "Enable MemorySanitizer (MSan) for debugging (not recommended to run with ASAN)" OFF)
@@ -16,7 +17,7 @@ option(ENABLE_MSAN "Enable MemorySanitizer (MSan) for debugging (not recommended
option(WITH_PIC "Compile static library as position-independent code" OFF)
option(BUILD_SHARED_LIBS "Build raylib as a shared library" OFF)
option(MACOS_FATLIB "Build fat library for both i386 and x86_64 on macOS" OFF)
-option(USE_AUDIO "Build raylib with audio module" ON)
+cmake_dependent_option(USE_AUDIO "Build raylib with audio module" ON CUSTOMIZE_BUILD ON)
enum_option(USE_EXTERNAL_GLFW "OFF;IF_POSSIBLE;ON" "Link raylib against system GLFW instead of embedded one")
if(UNIX AND NOT APPLE)
@@ -27,61 +28,62 @@ option(INCLUDE_EVERYTHING "Include everything disabled by default (for CI usage"
set(OFF ${INCLUDE_EVERYTHING} CACHE INTERNAL "Replace any OFF by default with \${OFF} to have it covered by this option")
# core.c
-option(SUPPORT_CAMERA_SYSTEM "Provide camera module (camera.h) with multiple predefined cameras: free, 1st/3rd person, orbital" ON)
-option(SUPPORT_GESTURES_SYSTEM "Gestures module is included (gestures.h) to support gestures detection: tap, hold, swipe, drag" ON)
-option(SUPPORT_MOUSE_GESTURES "Mouse gestures are directly mapped like touches and processed by gestures system" ON)
-option(SUPPORT_SSH_KEYBOARD_RPI "Reconfigure standard input to receive key inputs, works with SSH connection" OFF)
-option(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)
-option(SUPPORT_SCREEN_CAPTURE "Allow automatic screen capture of current screen pressing F12, defined in KeyCallback()" ON)
-option(SUPPORT_GIF_RECORDING "Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback()" ON)
-option(SUPPORT_BUSY_WAIT_LOOP "Use busy wait loop for timing sync instead of a high-resolution timer" OFF)
-option(SUPPORT_EVENTS_WAITING "Wait for events passively (sleeping while no events) instead of polling them actively every frame" OFF)
-option(SUPPORT_HIGH_DPI "Support high DPI displays" OFF)
-option(SUPPORT_DATA_STORAGE "Support for persistent data storage" ON)
+cmake_dependent_option(SUPPORT_CAMERA_SYSTEM "Provide camera module (camera.h) with multiple predefined cameras: free, 1st/3rd person, orbital" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_GESTURES_SYSTEM "Gestures module is included (gestures.h) to support gestures detection: tap, hold, swipe, drag" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_MOUSE_GESTURES "Mouse gestures are directly mapped like touches and processed by gestures system" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_SSH_KEYBOARD_RPI "Reconfigure standard input to receive key inputs, works with SSH connection" OFF CUSTOMIZE_BUILD OFF)
+cmake_dependent_option(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 CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_SCREEN_CAPTURE "Allow automatic screen capture of current screen pressing F12, defined in KeyCallback()" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_GIF_RECORDING "Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback()" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_BUSY_WAIT_LOOP "Use busy wait loop for timing sync instead of a high-resolution timer" OFF CUSTOMIZE_BUILD OFF)
+cmake_dependent_option(SUPPORT_EVENTS_WAITING "Wait for events passively (sleeping while no events) instead of polling them actively every frame" OFF CUSTOMIZE_BUILD OFF)
+cmake_dependent_option(SUPPORT_HIGH_DPI "Support high DPI displays" OFF CUSTOMIZE_BUILD OFF)
+cmake_dependent_option(SUPPORT_DATA_STORAGE "Support for persistent data storage" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_COMPRESSION_API "Support for compression API" ON CUSTOMIZE_BUILD ON)
# rlgl.h
-option(SUPPORT_VR_SIMULATOR "Support VR simulation functionality (stereo rendering)" ON)
+cmake_dependent_option(SUPPORT_VR_SIMULATOR "Support VR simulation functionality (stereo rendering)" ON CUSTOMIZE_BUILD ON)
# shapes.c
-option(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)
-option(SUPPORT_QUADS_DRAW_MODE "Use QUADS instead of TRIANGLES for drawing when possible. Some lines-based shapes could still use lines" ON)
+cmake_dependent_option(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 CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_QUADS_DRAW_MODE "Use QUADS instead of TRIANGLES for drawing when possible. Some lines-based shapes could still use lines" ON CUSTOMIZE_BUILD ON)
# textures.c
-option(SUPPORT_IMAGE_EXPORT "Support image exporting to file" ON)
-option(SUPPORT_IMAGE_GENERATION "Support procedural image generation functionality (gradient, spot, perlin-noise, cellular)" ON)
-option(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)
-option(SUPPORT_FILEFORMAT_PNG "Support loading PNG as textures" ON)
-option(SUPPORT_FILEFORMAT_DDS "Support loading DDS as textures" ON)
-option(SUPPORT_FILEFORMAT_HDR "Support loading HDR as textures" ON)
-option(SUPPORT_FILEFORMAT_KTX "Support loading KTX as textures" ON)
-option(SUPPORT_FILEFORMAT_ASTC "Support loading ASTC as textures" ON)
-option(SUPPORT_FILEFORMAT_BMP "Support loading BMP as textures" ${OFF})
-option(SUPPORT_FILEFORMAT_TGA "Support loading TGA as textures" ${OFF})
-option(SUPPORT_FILEFORMAT_JPG "Support loading JPG as textures" ${OFF})
-option(SUPPORT_FILEFORMAT_GIF "Support loading GIF as textures" ${OFF})
-option(SUPPORT_FILEFORMAT_PSD "Support loading PSD as textures" ${OFF})
-option(SUPPORT_FILEFORMAT_PKM "Support loading PKM as textures" ${OFF})
-option(SUPPORT_FILEFORMAT_PVR "Support loading PVR as textures" ${OFF})
+cmake_dependent_option(SUPPORT_IMAGE_EXPORT "Support image exporting to file" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_IMAGE_GENERATION "Support procedural image generation functionality (gradient, spot, perlin-noise, cellular)" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(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 CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_PNG "Support loading PNG as textures" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_DDS "Support loading DDS as textures" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_HDR "Support loading HDR as textures" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_KTX "Support loading KTX as textures" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_ASTC "Support loading ASTC as textures" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_BMP "Support loading BMP as textures" ${OFF} CUSTOMIZE_BUILD OFF)
+cmake_dependent_option(SUPPORT_FILEFORMAT_TGA "Support loading TGA as textures" ${OFF} CUSTOMIZE_BUILD OFF)
+cmake_dependent_option(SUPPORT_FILEFORMAT_JPG "Support loading JPG as textures" ${OFF} CUSTOMIZE_BUILD OFF)
+cmake_dependent_option(SUPPORT_FILEFORMAT_GIF "Support loading GIF as textures" ${OFF} CUSTOMIZE_BUILD OFF)
+cmake_dependent_option(SUPPORT_FILEFORMAT_PSD "Support loading PSD as textures" ${OFF} CUSTOMIZE_BUILD OFF)
+cmake_dependent_option(SUPPORT_FILEFORMAT_PKM "Support loading PKM as textures" ${OFF} CUSTOMIZE_BUILD OFF)
+cmake_dependent_option(SUPPORT_FILEFORMAT_PVR "Support loading PVR as textures" ${OFF} CUSTOMIZE_BUILD OFF)
# text.c
-option(SUPPORT_FILEFORMAT_FNT "Support loading fonts in FNT format" ON)
-option(SUPPORT_FILEFORMAT_TTF "Support loading font in TTF/OTF format" ON)
-option(SUPPORT_TEXT_MANIPULATION "Support text manipulation functions" ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_FNT "Support loading fonts in FNT format" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_TTF "Support loading font in TTF/OTF format" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_TEXT_MANIPULATION "Support text manipulation functions" ON CUSTOMIZE_BUILD ON)
# models.c
-option(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)
-option(SUPPORT_FILEFORMAT_OBJ "Support loading OBJ file format" ON)
-option(SUPPORT_FILEFORMAT_MTL "Support loading MTL file format" ON)
-option(SUPPORT_FILEFORMAT_IQM "Support loading IQM file format" ON)
-option(SUPPORT_FILEFORMAT_GLTF "Support loading GLTF file format" ON)
+cmake_dependent_option(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 CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_OBJ "Support loading OBJ file format" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_MTL "Support loading MTL file format" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_IQM "Support loading IQM file format" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_GLTF "Support loading GLTF file format" ON CUSTOMIZE_BUILD ON)
# raudio.c
-option(SUPPORT_FILEFORMAT_WAV "Support loading WAV for sound" ON)
-option(SUPPORT_FILEFORMAT_OGG "Support loading OGG for sound" ON)
-option(SUPPORT_FILEFORMAT_XM "Support loading XM for sound" ON)
-option(SUPPORT_FILEFORMAT_MOD "Support loading MOD for sound" ON)
-option(SUPPORT_FILEFORMAT_MP3 "Support loading MP3 for sound" ON)
-option(SUPPORT_FILEFORMAT_FLAC "Support loading FLAC for sound" ${OFF})
+cmake_dependent_option(SUPPORT_FILEFORMAT_WAV "Support loading WAV for sound" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_OGG "Support loading OGG for sound" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_XM "Support loading XM for sound" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_MOD "Support loading MOD for sound" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_MP3 "Support loading MP3 for sound" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_FLAC "Support loading FLAC for sound" ${OFF} CUSTOMIZE_BUILD OFF)
# utils.c
-option(SUPPORT_TRACELOG "Show TraceLog() output messages. NOTE: By default LOG_DEBUG traces not shown" ON)
+cmake_dependent_option(SUPPORT_TRACELOG "Show TraceLog() output messages. NOTE: By default LOG_DEBUG traces not shown" ON CUSTOMIZE_BUILD ON)
diff --git a/cmake/CompileDefinitions.cmake b/cmake/CompileDefinitions.cmake
new file mode 100644
index 00000000..b07503c1
--- /dev/null
+++ b/cmake/CompileDefinitions.cmake
@@ -0,0 +1,109 @@
+# Adding compile definitions
+target_compile_definitions("raylib" PUBLIC "${PLATFORM_CPP}")
+target_compile_definitions("raylib" PUBLIC "${GRAPHICS}")
+
+function(define_if target variable)
+ if (${${variable}})
+ target_compile_definitions(${target} PUBLIC "${variable}")
+ endif ()
+endfunction()
+
+if (${CUSTOMIZE_BUILD})
+ target_compile_definitions("raylib" PUBLIC EXTERNAL_CONFIG_FLAGS)
+ define_if("raylib" SUPPORT_CAMERA_SYSTEM)
+ define_if("raylib" SUPPORT_GESTURES_SYSTEM)
+ define_if("raylib" SUPPORT_MOUSE_GESTURES)
+ define_if("raylib" SUPPORT_SSH_KEYBOARD_RPI)
+ define_if("raylib" SUPPORT_BUSY_WAIT_LOOP)
+ define_if("raylib" SUPPORT_EVENTS_WAITING)
+ define_if("raylib" SUPPORT_SCREEN_CAPTURE)
+ define_if("raylib" SUPPORT_GIF_RECORDING)
+ define_if("raylib" SUPPORT_HIGH_DPI)
+ define_if("raylib" SUPPORT_COMPRESSION_API)
+ define_if("raylib" SUPPORT_DATA_STORAGE)
+ define_if("raylib" SUPPORT_VR_SIMULATOR)
+ define_if("raylib" SUPPORT_FONT_TEXTURE)
+ define_if("raylib" SUPPORT_QUADS_DRAW_MODE)
+ define_if("raylib" SUPPORT_FILEFORMAT_PNG)
+ define_if("raylib" SUPPORT_FILEFORMAT_DDS)
+ define_if("raylib" SUPPORT_FILEFORMAT_HDR)
+ define_if("raylib" SUPPORT_FILEFORMAT_KTX)
+ define_if("raylib" SUPPORT_FILEFORMAT_ASTC)
+ define_if("raylib" SUPPORT_FILEFORMAT_BMP)
+ define_if("raylib" SUPPORT_FILEFORMAT_TGA)
+ define_if("raylib" SUPPORT_FILEFORMAT_JPG)
+ define_if("raylib" SUPPORT_FILEFORMAT_GIF)
+ define_if("raylib" SUPPORT_FILEFORMAT_PSD)
+ define_if("raylib" SUPPORT_FILEFORMAT_PKM)
+ define_if("raylib" SUPPORT_FILEFORMAT_PVR)
+ define_if("raylib" ORT_IMAGE_EXPORT)
+ define_if("raylib" SUPPORT_IMAGE_MANIPULATION)
+ define_if("raylib" SUPPORT_IMAGE_GENERATION)
+ define_if("raylib" SUPPORT_DEFAULT_FONT)
+ define_if("raylib" SUPPORT_FILEFORMAT_FNT)
+ define_if("raylib" SUPPORT_FILEFORMAT_TTF)
+ define_if("raylib" SUPPORT_TEXT_MANIPULATION)
+ define_if("raylib" SUPPORT_FILEFORMAT_OBJ)
+ define_if("raylib" SUPPORT_FILEFORMAT_MTL)
+ define_if("raylib" SUPPORT_FILEFORMAT_IQM)
+ define_if("raylib" SUPPORT_FILEFORMAT_GLTF)
+ define_if("raylib" SUPPORT_MESH_GENERATION)
+ define_if("raylib" SUPPORT_FILEFORMAT_WAV)
+ define_if("raylib" SUPPORT_FILEFORMAT_OGG)
+ define_if("raylib" SUPPORT_FILEFORMAT_XM)
+ define_if("raylib" SUPPORT_FILEFORMAT_MOD)
+ define_if("raylib" SUPPORT_FILEFORMAT_FLAC)
+ define_if("raylib" SUPPORT_FILEFORMAT_MP3)
+ define_if("raylib" SUPPORT_TRACELOG)
+ define_if("raylib" SUPPORT_COMPRESSION_API)
+
+
+ if (UNIX AND NOT APPLE)
+ target_compile_definitions("raylib" PUBLIC "MAX_FILEPATH_LENGTH=4096")
+ else ()
+ target_compile_definitions("raylib" PUBLIC "MAX_FILEPATH_LENGTH=512")
+ endif ()
+
+ target_compile_definitions("raylib" PUBLIC "MAX_GAMEPADS=4")
+ target_compile_definitions("raylib" PUBLIC "MAX_GAMEPAD_AXIS=8")
+ target_compile_definitions("raylib" PUBLIC "MAX_GAMEPAD_BUTTONS=32")
+ target_compile_definitions("raylib" PUBLIC "MAX_TOUCH_POINTS=10")
+ target_compile_definitions("raylib" PUBLIC "MAX_KEY_PRESSED_QUEUE=16")
+
+ target_compile_definitions("raylib" PUBLIC "STORAGE_DATA_FILE=\"storage.data\"")
+ target_compile_definitions("raylib" PUBLIC "MAX_KEY_PRESSED_QUEUE=16")
+ target_compile_definitions("raylib" PUBLIC "MAX_DECOMPRESSION_SIZE=64")
+
+ if (${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_33" OR ${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_11")
+ target_compile_definitions("raylib" PUBLIC "DEFAULT_BATCH_BUFFER_ELEMENTS=8192")
+ elseif (${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_ES2")
+ target_compile_definitions("raylib" PUBLIC "DEFAULT_BATCH_BUFFER_ELEMENTS=2048")
+ endif ()
+
+ target_compile_definitions("raylib" PUBLIC "DEFAULT_BATCH_DRAWCALLS=256")
+ target_compile_definitions("raylib" PUBLIC "MAX_MATRIX_STACK_SIZE=32")
+ target_compile_definitions("raylib" PUBLIC "MAX_SHADER_LOCATIONS=32")
+ target_compile_definitions("raylib" PUBLIC "MAX_MATERIAL_MAPS=12")
+ target_compile_definitions("raylib" PUBLIC "RL_CULL_DISTANCE_NEAR=0.01")
+ target_compile_definitions("raylib" PUBLIC "RL_CULL_DISTANCE_FAR=1000.0")
+
+ target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_POSITION=\"vertexPosition\"")
+ target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD=\"vertexTexCoord\"")
+ target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_NORMAL=\"vertexNormal\"")
+ target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_COLOR=\"vertexColor\"")
+ target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_TANGENT=\"vertexTangent\"")
+ target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2=\"vertexTexCoord2\"")
+
+ target_compile_definitions("raylib" PUBLIC "MAX_TEXT_BUFFER_LENGTH=1024")
+ target_compile_definitions("raylib" PUBLIC "MAX_TEXT_UNICODE_CHARS=512")
+ target_compile_definitions("raylib" PUBLIC "MAX_TEXTSPLIT_COUNT=128")
+
+ target_compile_definitions("raylib" PUBLIC "AUDIO_DEVICE_FORMAT=ma_format_f32")
+ target_compile_definitions("raylib" PUBLIC "AUDIO_DEVICE_CHANNELS=2")
+ target_compile_definitions("raylib" PUBLIC "AUDIO_DEVICE_SAMPLE_RATE=44100")
+ target_compile_definitions("raylib" PUBLIC "DEFAULT_AUDIO_BUFFER_SIZE=4096")
+
+ target_compile_definitions("raylib" PUBLIC "MAX_TRACELOG_MSG_LENGTH=128")
+ target_compile_definitions("raylib" PUBLIC "MAX_UWP_MESSAGES=512")
+endif ()
+
diff --git a/cmake/LibraryConfigurations.cmake b/cmake/LibraryConfigurations.cmake
index 8cca2464..cf5e85f8 100644
--- a/cmake/LibraryConfigurations.cmake
+++ b/cmake/LibraryConfigurations.cmake
@@ -1,8 +1,3 @@
-
-### Config options ###
-# Translate the config options to what raylib wants
-configure_file(config.h.in ${CMAKE_BINARY_DIR}/cmake/config.h)
-
if(${PLATFORM} MATCHES "Desktop")
set(PLATFORM_CPP "PLATFORM_DESKTOP")
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a11f4efb..bcef058b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -83,11 +83,7 @@ if (${PLATFORM} MATCHES "Desktop")
target_link_libraries(raylib glfw)
endif ()
-# Adding compile definitions
-target_compile_definitions(raylib
- PUBLIC "${PLATFORM_CPP}"
- PUBLIC "${GRAPHICS}"
- )
+include(CompileDefinitions)
# Registering include directories
target_include_directories(raylib
@@ -96,7 +92,6 @@ target_include_directories(raylib
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_BINARY_DIR} # For cmake/config.h
${OPENGL_INCLUDE_DIR}
${OPENAL_INCLUDE_DIR}
)
diff --git a/src/config.h b/src/config.h
index dbe77cd9..f7380422 100644
--- a/src/config.h
+++ b/src/config.h
@@ -27,12 +27,6 @@
#define RAYLIB_VERSION "3.5"
-// Edit to control what features Makefile'd raylib is compiled with
-#if defined(RAYLIB_CMAKE)
- // Edit cmake/RaylibOptions.cmake for CMake instead
- #include "cmake/config.h"
-#else
-
//------------------------------------------------------------------------------------
// Module: core - Configuration Flags
//------------------------------------------------------------------------------------
@@ -217,6 +211,3 @@
//------------------------------------------------------------------------------------
#define MAX_TRACELOG_MSG_LENGTH 128 // Max length of one trace-log message
#define MAX_UWP_MESSAGES 512 // Max UWP messages to process
-
-
-#endif //defined(RAYLIB_CMAKE)
diff --git a/src/config.h.in b/src/config.h.in
deleted file mode 100644
index 4cb217b5..00000000
--- a/src/config.h.in
+++ /dev/null
@@ -1,91 +0,0 @@
-// config.h.in
-
-// core.c
-// Camera module is included (camera.h) and multiple predefined cameras are available: free, 1st/3rd person, orbital
-#cmakedefine SUPPORT_CAMERA_SYSTEM 1
-// Gestures module is included (gestures.h) to support gestures detection: tap, hold, swipe, drag
-#cmakedefine SUPPORT_GESTURES_SYSTEM 1
-// Mouse gestures are directly mapped like touches and processed by gestures system.
-#cmakedefine SUPPORT_MOUSE_GESTURES 1
-// Reconfigure standard input to receive key inputs, works with SSH connection.
-#cmakedefine SUPPORT_SSH_KEYBOARD_RPI 1
-// Use busy wait loop for timing sync, if not defined, a high-resolution timer is setup and used
-#cmakedefine SUPPORT_BUSY_WAIT_LOOP 1
-// Wait for events passively (sleeping while no events) instead of polling them actively every frame
-#cmakedefine SUPPORT_EVENTS_WAITING 1
-// Allow automatic screen capture of current screen pressing F12, defined in KeyCallback()
-#cmakedefine SUPPORT_SCREEN_CAPTURE 1
-// Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback()
-#cmakedefine SUPPORT_GIF_RECORDING 1
-// Support high DPI displays
-#cmakedefine SUPPORT_HIGH_DPI 1
-// Support CompressData() and DecompressData() functions
-#cmakedefine SUPPORT_COMPRESSION_API 1
-// Support for persistent data storage
-#cmakedefine SUPPORT_DATA_STORAGE 1
-
-// rlgl.h
-// Support VR simulation functionality (stereo rendering)
-#cmakedefine SUPPORT_VR_SIMULATOR 1
-
-// shapes.c
-// Draw rectangle shapes using font texture white character instead of default white texture
-#cmakedefine SUPPORT_FONT_TEXTURE 1
-// Use QUADS instead of TRIANGLES for drawing when possible
-// Some lines-based shapes could still use lines
-#cmakedefine SUPPORT_QUADS_DRAW_MODE 1
-
-// textures.c
-// Selecte desired fileformats to be supported for image data loading.
-#cmakedefine SUPPORT_FILEFORMAT_PNG 1
-#cmakedefine SUPPORT_FILEFORMAT_DDS 1
-#cmakedefine SUPPORT_FILEFORMAT_HDR 1
-#cmakedefine SUPPORT_FILEFORMAT_KTX 1
-#cmakedefine SUPPORT_FILEFORMAT_ASTC 1
-#cmakedefine SUPPORT_FILEFORMAT_BMP 1
-#cmakedefine SUPPORT_FILEFORMAT_TGA 1
-#cmakedefine SUPPORT_FILEFORMAT_JPG 1
-#cmakedefine SUPPORT_FILEFORMAT_GIF 1
-#cmakedefine SUPPORT_FILEFORMAT_PSD 1
-#cmakedefine SUPPORT_FILEFORMAT_PKM 1
-#cmakedefine SUPPORT_FILEFORMAT_PVR 1
-// Support image export functionality (.png, .bmp, .tga, .jpg)
-#define SUPPORT_IMAGE_EXPORT 1
-// 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()
-#cmakedefine SUPPORT_IMAGE_MANIPULATION 1
-// Support procedural image generation functionality (gradient, spot, perlin-noise, cellular)
-#cmakedefine SUPPORT_IMAGE_GENERATION 1
-
-// text.c
-// Default font is loaded on window initialization to be available for the user to render simple text. NOTE: If enabled, uses external module functions to load default raylib font (module: text)
-#cmakedefine SUPPORT_DEFAULT_FONT 1
-// Selected desired fileformats to be supported for loading.
-#cmakedefine SUPPORT_FILEFORMAT_FNT 1
-#cmakedefine SUPPORT_FILEFORMAT_TTF 1
-// Support text management functions
-// If not defined, still some functions are supported: TextLength(), TextFormat()
-#cmakedefine SUPPORT_TEXT_MANIPULATION 1
-
-// models.c
-// Selected desired fileformats to be supported for loading.
-#cmakedefine SUPPORT_FILEFORMAT_OBJ 1
-#cmakedefine SUPPORT_FILEFORMAT_MTL 1
-#cmakedefine SUPPORT_FILEFORMAT_IQM 1
-#cmakedefine SUPPORT_FILEFORMAT_GLTF 1
-// Support procedural mesh generation functions, uses external par_shapes.h library
-// NOTE: Some generated meshes DO NOT include generated texture coordinates
-#cmakedefine SUPPORT_MESH_GENERATION 1
-
-// raudio.c
-// Desired fileformats to be supported for loading.
-#cmakedefine SUPPORT_FILEFORMAT_WAV 1
-#cmakedefine SUPPORT_FILEFORMAT_OGG 1
-#cmakedefine SUPPORT_FILEFORMAT_XM 1
-#cmakedefine SUPPORT_FILEFORMAT_MOD 1
-#cmakedefine SUPPORT_FILEFORMAT_FLAC 1
-#cmakedefine SUPPORT_FILEFORMAT_MP3 1
-
-// utils.c
-// Show TraceLog() output messages. NOTE: By default LOG_DEBUG traces not shown
-#cmakedefine SUPPORT_TRACELOG 1
-
diff --git a/src/rlgl.h b/src/rlgl.h
index d8e3de9d..11f511cc 100644
--- a/src/rlgl.h
+++ b/src/rlgl.h
@@ -840,7 +840,7 @@ typedef struct RenderBatch {
float currentDepth; // Current depth value for next draw
} RenderBatch;
-#if defined(SUPPORT_VR_SIMULATOR)
+#if defined(SUPPORT_VR_SIMULATOR) && !defined(RLGL_STANDALONE)
// VR Stereo rendering configuration for simulator
typedef struct VrStereoConfig {
Shader distortionShader; // VR stereo rendering distortion shader