summaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
authorhristo <[email protected]>2021-01-25 11:47:53 +0200
committerGitHub <[email protected]>2021-01-25 10:47:53 +0100
commitf3ce3a6f741fdf02eb602e2d7df7b14951f4aa65 (patch)
tree462062c18ed0f91ed9c7ff8d5a96ec27086c569b /cmake
parent4bf7b00013f7efe222d02171e176bb827a90fad9 (diff)
downloadraylib-f3ce3a6f741fdf02eb602e2d7df7b14951f4aa65.tar.gz
raylib-f3ce3a6f741fdf02eb602e2d7df7b14951f4aa65.zip
Removing config.h.in file (#1546)
CMake relied on this file for configurations and also was interfering in the regular config.h by having a separate definition if building with CMake. This was not entirely correct so instead we will define compile time definitions separately through CMake (CompileDefinitions.cmake) and also will use the provided EXTERNAL_CONFIG_FLAGS that I found that will not use config.h in through the build process. I also introduced a new compiler option (CUSTOMIZE_BUILD) that when OFF will use the default config.h and when ON will show other options for redefining your own options. Fixed an error in rlgl.h where if you have both RLGL_STANDALONE and SUPPORT_VR_SIMULATOR you get a compile time error.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/CompileDefinitions.cmake109
-rw-r--r--cmake/LibraryConfigurations.cmake5
2 files changed, 109 insertions, 5 deletions
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")