Merge pull request #522 from a3f/master

Refactor all #define SUPPORT_* into a config.h
This commit is contained in:
Ray 2018-04-08 22:46:44 +02:00 committed by GitHub
commit cd616258c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 268 additions and 99 deletions

View File

@ -1,44 +1,20 @@
# Setup the project and settings # Setup the project and settings
project(raylib) project(raylib)
include("../utils.cmake")
include(GNUInstallDirs) include(GNUInstallDirs)
set(PROJECT_VERSION 1.9.4) set(PROJECT_VERSION 1.9.4)
set(API_VERSION 1) set(API_VERSION 1)
set(RAYLIB raylib) # Name of the generated library set(RAYLIB raylib) # Name of the generated library
### Config options ### include("CMakeOptions.txt")
# Shared library is always PIC. Static library should be PIC too if linked into a shared library configure_file(config.h.in ${CMAKE_BINARY_DIR}/cmake/config.h)
option(WITH_PIC "Compile static library as position-independent code" OFF) include_directories(${CMAKE_BINARY_DIR})
# Build a static and/or shared raylib?
option(SHARED "Build raylib as a dynamic library" OFF)
option(STATIC "Build raylib as a static library" ON)
option(USE_AUDIO "Build raylib with audio module" ON)
option(MACOS_FATLIB "Build fat library for both i386 and x86_64 on macOS" ON)
if(NOT (STATIC OR SHARED)) include("../utils.cmake")
message(FATAL_ERROR "Nothing to do if both -DSHARED=OFF and -DSTATIC=OFF...")
endif()
if(DEFINED SHARED_RAYLIB)
set(SHARED ${SHARED_RAYLIB})
message(DEPRECATION "-DSHARED_RAYLIB is deprecated. Please use -DSHARED instead.")
endif()
if(DEFINED STATIC_RAYLIB)
set(STATIC ${STATIC_RAYLIB})
message(DEPRECATION "-DSTATIC_RAYLIB is deprecated. Please use -DSTATIC instead.")
endif()
# Platform
set(PLATFORM "Desktop" CACHE STRING "Platform to build for.")
set_property(CACHE PLATFORM PROPERTY STRINGS "Desktop" "Web" "Android" "Raspberry Pi")
# OpenGL version
set(OPENGL_VERSION "3.3" CACHE STRING "OpenGL Version to build raylib with")
set_property(CACHE OPENGL_VERSION PROPERTY STRINGS "3.3" "2.1" "1.1" "ES 2.0")
# Get the sources together # Get the sources together
file(GLOB raylib_sources *.c) file(GLOB raylib_sources *.c)
if(glfw3_FOUND) if(glfw3_FOUND)
list(REMOVE_ITEM raylib_sources ${CMAKE_CURRENT_SOURCE_DIR}/rglfw.c) list(REMOVE_ITEM raylib_sources ${CMAKE_CURRENT_SOURCE_DIR}/rglfw.c)
else() else()
@ -50,7 +26,7 @@ if(USE_AUDIO)
file(GLOB mini_al external/mini_al.c ${stb_vorbis}) file(GLOB mini_al external/mini_al.c ${stb_vorbis})
set(sources ${raylib_sources} ${mini_al}) set(sources ${raylib_sources} ${mini_al})
else() else()
set(INCLUDE_AUDIO_MODULE 0) set(INCLUDE_AUDIO_MODULE 0)
list(REMOVE_ITEM raylib_sources ${CMAKE_CURRENT_SOURCE_DIR}/audio.c) list(REMOVE_ITEM raylib_sources ${CMAKE_CURRENT_SOURCE_DIR}/audio.c)
set(sources ${raylib_sources}) set(sources ${raylib_sources})
endif() endif()

89
src/CMakeOptions.txt Normal file
View File

@ -0,0 +1,89 @@
### Config options ###
include(CMakeDependentOption)
# Shared library is always PIC. Static library should be PIC too if linked into a shared library
option(WITH_PIC "Compile static library as position-independent code" OFF)
option(SHARED "Build raylib as a dynamic library" OFF)
option(STATIC "Build raylib as a static library" ON)
option(MACOS_FATLIB "Build fat library for both i386 and x86_64 on macOS" ON)
option(USE_AUDIO "Build raylib with audio module" ON)
cmake_dependent_option(USE_OPENAL_BACKEND "Link raylib with openAL instead of mini-al" OFF "USE_AUDIO" OFF)
set(USE_EXTERNAL_GLFW OFF CACHE STRING "Link raylib against system GLFW instead of embedded one")
set_property(CACHE USE_EXTERNAL_GLFW PROPERTY STRINGS ON OFF IF_POSSIBLE)
if(UNIX AND NOT APPLE)
option(USE_WAYLAND "Use Wayland for window creation" OFF)
endif()
set(PLATFORM "Desktop" CACHE STRING "Platform to build for.")
set_property(CACHE PLATFORM PROPERTY STRINGS "Desktop" "Web" "Android" "Raspberry Pi")
set(OPENGL_VERSION "3.3" CACHE STRING "OpenGL Version to build raylib with")
set_property(CACHE OPENGL_VERSION PROPERTY STRINGS "3.3" "2.1" "1.1" "ES 2.0")
# core.c
option(SUPPORT_BUSY_WAIT_LOOP "Use busy wait loop for timing sync instead of a high-resolution timer" ON)
option(SUPPORT_CAMERA_SYSTEM "Provide camera module (camera.h) with multiple predefined cameras: free, 1st/3rd person, orbital" ON)
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_GIF_RECORDING "Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback()" 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)
# rlgl.c
option(SUPPORT_VR_SIMULATOR "Support VR simulation functionality (stereo rendering)" ON)
option(SUPPORT_DISTORTION_SHADER "Include stereo rendering distortion shader (shader_distortion.h)" ON)
# models.c
option(SUPPORT_FILEFORMAT_OBJ "Support loading OBJ file format" ON)
option(SUPPORT_FILEFORMAT_MTL "Support loading MTL file format" ON)
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)
# textures.c
option(SUPPORT_IMAGE_GENERATION "Support proedural image generation functionality (gradient, spot, perlin-noise, cellular)" 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)
# audio.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_FLAC "Support loading FLAC for sound" OFF)
# shapes.c
option(USE_DEFAULT_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)
# utils.c
option(SUPPORT_SAVE_PNG "Support saving image data in PNG file format" ON)
option(SUPPORT_SAVE_BMP "Support saving image data in BMP file format" OFF)
option(SUPPORT_TRACELOG "Show TraceLog() output messages. NOTE: By default LOG_DEBUG traces not shown" ON)
option(SUPPORT_FILEFORMAT_FNT "Support loading fonts in FNT format" ON)
option(SUPPORT_FILEFORMAT_TTF "Support loading font in TTF format" 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)
if(NOT (STATIC OR SHARED))
message(FATAL_ERROR "Nothing to do if both -DSHARED=OFF and -DSTATIC=OFF...")
endif()
if(DEFINED SHARED_RAYLIB)
set(SHARED ${SHARED_RAYLIB})
message(DEPRECATION "-DSHARED_RAYLIB is deprecated. Please use -DSHARED instead.")
endif()
if(DEFINED STATIC_RAYLIB)
set(STATIC ${STATIC_RAYLIB})
message(DEPRECATION "-DSTATIC_RAYLIB is deprecated. Please use -DSTATIC instead.")
endif()
# vim: ft=cmake

View File

@ -11,7 +11,7 @@
* - Manage raw audio context * - Manage raw audio context
* *
* CONFIGURATION: * CONFIGURATION:
* *
* #define AUDIO_STANDALONE * #define AUDIO_STANDALONE
* Define to use the module as standalone library (independently of raylib). * Define to use the module as standalone library (independently of raylib).
* Required types and functions are defined in the same module. * Required types and functions are defined in the same module.
@ -24,7 +24,7 @@
* #define SUPPORT_FILEFORMAT_XM * #define SUPPORT_FILEFORMAT_XM
* #define SUPPORT_FILEFORMAT_MOD * #define SUPPORT_FILEFORMAT_MOD
* #define SUPPORT_FILEFORMAT_FLAC * #define SUPPORT_FILEFORMAT_FLAC
* Selected desired fileformats to be supported for loading. Some of those formats are * Selected desired fileformats to be supported for loading. Some of those formats are
* supported by default, to remove support, just comment unrequired #define in this module * supported by default, to remove support, just comment unrequired #define in this module
* *
* LIMITATIONS (only OpenAL Soft): * LIMITATIONS (only OpenAL Soft):
@ -72,13 +72,7 @@
* *
**********************************************************************************************/ **********************************************************************************************/
// Default configuration flags (supported features) #include "config.h"
//-------------------------------------------------
#define SUPPORT_FILEFORMAT_WAV
#define SUPPORT_FILEFORMAT_OGG
#define SUPPORT_FILEFORMAT_XM
#define SUPPORT_FILEFORMAT_MOD
//-------------------------------------------------
#if !defined(USE_OPENAL_BACKEND) #if !defined(USE_OPENAL_BACKEND)
#define USE_MINI_AL 1 // Set to 1 to use mini_al; 0 to use OpenAL. #define USE_MINI_AL 1 // Set to 1 to use mini_al; 0 to use OpenAL.

78
src/config.h Normal file
View File

@ -0,0 +1,78 @@
/* Edit to control what features Makefile'd raylib is compiled with. */
#ifdef RAYLIB_CMAKE /* Edit CMakeOptions.txt for CMake instead! */
#include "cmake/config.h"
#else
// 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) */
#define SUPPORT_DEFAULT_FONT 1
/* Selected desired fileformats to be supported for loading. */
#define SUPPORT_FILEFORMAT_FNT 1
#define SUPPORT_FILEFORMAT_TTF 1
// textures.c
/* Selecte desired fileformats to be supported for image data loading. */
#define SUPPORT_FILEFORMAT_PNG 1
#define SUPPORT_FILEFORMAT_DDS 1
#define SUPPORT_FILEFORMAT_HDR 1
#define SUPPORT_FILEFORMAT_KTX 1
#define SUPPORT_FILEFORMAT_ASTC 1
/* #undef SUPPORT_FILEFORMAT_BMP */
/* #undef SUPPORT_FILEFORMAT_TGA */
/* #undef SUPPORT_FILEFORMAT_JPG */
/* #undef SUPPORT_FILEFORMAT_GIF */
/* #undef SUPPORT_FILEFORMAT_PSD */
/* #undef SUPPORT_FILEFORMAT_PKM */
/* #undef SUPPORT_FILEFORMAT_PVR */
/* 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() */
#define SUPPORT_IMAGE_MANIPULATION 1
/* Support proedural image generation functionality (gradient, spot, perlin-noise, cellular) */
#define SUPPORT_IMAGE_GENERATION 1
// rlgl.c
/* Support VR simulation functionality (stereo rendering) */
#define SUPPORT_VR_SIMULATOR 1
/* Include stereo rendering distortion shader (shader_distortion.h) */
#define SUPPORT_DISTORTION_SHADER 1
// core.c
/* Camera module is included (camera.h) and multiple predefined cameras are available: free, 1st/3rd person, orbital */
#define SUPPORT_CAMERA_SYSTEM 1
/* Gestures module is included (gestures.h) to support gestures detection: tap, hold, swipe, drag */
#define SUPPORT_GESTURES_SYSTEM 1
/* Mouse gestures are directly mapped like touches and processed by gestures system. */
#define SUPPORT_MOUSE_GESTURES 1
/* Use busy wait loop for timing sync, if not defined, a high-resolution timer is setup and used */
#define SUPPORT_BUSY_WAIT_LOOP 1
/* Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback() */
#define SUPPORT_GIF_RECORDING 1
// audio.c
/* Desired fileformats to be supported for loading. */
#define SUPPORT_FILEFORMAT_WAV 1
#define SUPPORT_FILEFORMAT_OGG 1
#define SUPPORT_FILEFORMAT_XM 1
#define SUPPORT_FILEFORMAT_MOD 1
/* #undef SUPPORT_FILEFORMAT_FLAC */
// models.c
/* Selected desired fileformats to be supported for loading. */
#define SUPPORT_FILEFORMAT_OBJ 1
#define SUPPORT_FILEFORMAT_MTL 1
/* Support procedural mesh generation functions, uses external par_shapes.h library
* NOTE: Some generated meshes DO NOT include generated texture coordinates
*/
#define SUPPORT_MESH_GENERATION 1
// utils.c
/* Show TraceLog() output messages. NOTE: By default LOG_DEBUG traces not shown */
#define SUPPORT_TRACELOG 1
/* Support saving image data as PNG fileformat. NOTE: Requires stb_image_write library */
#define SUPPORT_SAVE_PNG 1
/* Support saving image data as PMP fileformat. NOTE: Requires stb_image_write library */
/* #undef SUPPORT_SAVE_BMP */
#endif

74
src/config.h.in Normal file
View File

@ -0,0 +1,74 @@
/* config.h.in */
// 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
// 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 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 proedural image generation functionality (gradient, spot, perlin-noise, cellular) */
#cmakedefine SUPPORT_IMAGE_GENERATION 1
// rlgl.c
/* Support VR simulation functionality (stereo rendering) */
#cmakedefine SUPPORT_VR_SIMULATOR 1
/* Include stereo rendering distortion shader (shader_distortion.h) */
#cmakedefine SUPPORT_DISTORTION_SHADER 1
// 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
/* Use busy wait loop for timing sync, if not defined, a high-resolution timer is setup and used */
#cmakedefine SUPPORT_BUSY_WAIT_LOOP 1
/* Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback() */
#cmakedefine SUPPORT_GIF_RECORDING 1
// audio.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
// models.c
/* Selected desired fileformats to be supported for loading. */
#cmakedefine SUPPORT_FILEFORMAT_OBJ 1
#cmakedefine SUPPORT_FILEFORMAT_MTL 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
// utils.c
/* Show TraceLog() output messages. NOTE: By default LOG_DEBUG traces not shown */
#cmakedefine SUPPORT_TRACELOG 1
/* Support saving image data as PNG fileformat. NOTE: Requires stb_image_write library */
#cmakedefine SUPPORT_SAVE_PNG 1
/* Support saving image data as PMP fileformat. NOTE: Requires stb_image_write library */
#cmakedefine SUPPORT_SAVE_BMP 1

View File

@ -48,7 +48,7 @@
* Mouse gestures are directly mapped like touches and processed by gestures system. * Mouse gestures are directly mapped like touches and processed by gestures system.
* *
* #define SUPPORT_BUSY_WAIT_LOOP * #define SUPPORT_BUSY_WAIT_LOOP
* Use busy wait loop for timming sync, if not defined, a high-resolution timer is setup and used * Use busy wait loop for timing sync, if not defined, a high-resolution timer is setup and used
* *
* #define SUPPORT_GIF_RECORDING * #define SUPPORT_GIF_RECORDING
* Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback() * Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback()
@ -81,15 +81,7 @@
* *
**********************************************************************************************/ **********************************************************************************************/
// Default configuration flags (supported features) #include "config.h"
//-------------------------------------------------
#define SUPPORT_DEFAULT_FONT
#define SUPPORT_MOUSE_GESTURES
#define SUPPORT_CAMERA_SYSTEM
#define SUPPORT_GESTURES_SYSTEM
#define SUPPORT_BUSY_WAIT_LOOP
#define SUPPORT_GIF_RECORDING
//-------------------------------------------------
#include "raylib.h" #include "raylib.h"

View File

@ -36,12 +36,7 @@
* *
**********************************************************************************************/ **********************************************************************************************/
// Default configuration flags (supported features) #include "config.h"
//-------------------------------------------------
#define SUPPORT_FILEFORMAT_OBJ
#define SUPPORT_FILEFORMAT_MTL
#define SUPPORT_MESH_GENERATION
//-------------------------------------------------
#include "raylib.h" #include "raylib.h"

View File

@ -54,11 +54,7 @@
* *
**********************************************************************************************/ **********************************************************************************************/
// Default configuration flags (supported features) #include "config.h"
//-------------------------------------------------
#define SUPPORT_VR_SIMULATOR
#define SUPPORT_DISTORTION_SHADER
//-------------------------------------------------
#include "rlgl.h" #include "rlgl.h"

View File

@ -24,7 +24,7 @@
* #define RLGL_STANDALONE * #define RLGL_STANDALONE
* Use rlgl as standalone library (no raylib dependency) * Use rlgl as standalone library (no raylib dependency)
* *
* #define SUPPORT_VR_SIMULATION / SUPPORT_STEREO_RENDERING * #define SUPPORT_VR_SIMULATOR
* Support VR simulation functionality (stereo rendering) * Support VR simulation functionality (stereo rendering)
* *
* #define SUPPORT_DISTORTION_SHADER * #define SUPPORT_DISTORTION_SHADER
@ -496,4 +496,4 @@ void TraceLog(int msgType, const char *text, ...); // Show trace log messag
} }
#endif #endif
#endif // RLGL_H #endif // RLGL_H

View File

@ -4,12 +4,6 @@
* *
* CONFIGURATION: * CONFIGURATION:
* *
* #define SUPPORT_QUADS_ONLY
* Draw shapes using only QUADS, vertex are accumulated in QUADS arrays (like textures)
*
* #define SUPPORT_TRIANGLES_ONLY
* Draw shapes using only TRIANGLES, vertex are accumulated in TRIANGLES arrays
*
* #define USE_DEFAULT_FONT_TEXTURE * #define USE_DEFAULT_FONT_TEXTURE
* Draw rectangle shapes using font texture white character instead of default white 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! * Allows drawing rectangles and text with a single draw call, very useful for GUI systems!
@ -36,7 +30,7 @@
* *
**********************************************************************************************/ **********************************************************************************************/
#define USE_DEFAULT_FONT_TEXTURE #include "config.h"
#include "raylib.h" #include "raylib.h"

View File

@ -6,7 +6,7 @@
* *
* #define SUPPORT_FILEFORMAT_FNT * #define SUPPORT_FILEFORMAT_FNT
* #define SUPPORT_FILEFORMAT_TTF * #define SUPPORT_FILEFORMAT_TTF
* Selected desired fileformats to be supported for loading. Some of those formats are * Selected desired fileformats to be supported for loading. Some of those formats are
* supported by default, to remove support, just comment unrequired #define in this module * supported by default, to remove support, just comment unrequired #define in this module
* *
* #define SUPPORT_DEFAULT_FONT * #define SUPPORT_DEFAULT_FONT
@ -36,12 +36,7 @@
* *
**********************************************************************************************/ **********************************************************************************************/
// Default supported features #include "config.h"
//-------------------------------------
#define SUPPORT_DEFAULT_FONT
#define SUPPORT_FILEFORMAT_FNT
#define SUPPORT_FILEFORMAT_TTF
//-------------------------------------
#include "raylib.h" #include "raylib.h"

View File

@ -52,17 +52,7 @@
* 3. This notice may not be removed or altered from any source distribution. * 3. This notice may not be removed or altered from any source distribution.
* *
**********************************************************************************************/ **********************************************************************************************/
#include "config.h"
// Default configuration flags (supported features)
//-------------------------------------------------
#define SUPPORT_FILEFORMAT_PNG
#define SUPPORT_FILEFORMAT_DDS
#define SUPPORT_FILEFORMAT_HDR
#define SUPPORT_FILEFORMAT_KTX
#define SUPPORT_FILEFORMAT_ASTC
#define SUPPORT_IMAGE_MANIPULATION
#define SUPPORT_IMAGE_GENERATION
//-------------------------------------------------
#include "raylib.h" #include "raylib.h"

View File

@ -41,7 +41,7 @@
* *
**********************************************************************************************/ **********************************************************************************************/
#define SUPPORT_TRACELOG // Output tracelog messages #include "config.h"
#include "raylib.h" // WARNING: Required for: LogType enum #include "raylib.h" // WARNING: Required for: LogType enum
#include "utils.h" #include "utils.h"

View File

@ -32,7 +32,9 @@
#include <android/asset_manager.h> // Required for: AAssetManager #include <android/asset_manager.h> // Required for: AAssetManager
#endif #endif
#define SUPPORT_SAVE_PNG #ifndef SUPPORT_SAVE_PNG
#define SUPPORT_SAVE_PNG 1
#endif
//---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------
// Some basic Defines // Some basic Defines
@ -74,4 +76,4 @@ FILE *android_fopen(const char *fileName, const char *mode); // Replacement f
} }
#endif #endif
#endif // UTILS_H #endif // UTILS_H

View File

@ -1,12 +1,7 @@
# All sorts of things that we need cross project # All sorts of things that we need cross project
cmake_minimum_required(VERSION 2.8.0) cmake_minimum_required(VERSION 2.8.0)
set(USE_EXTERNAL_GLFW OFF CACHE STRING "Link raylib against system GLFW instead of embedded one") add_definitions("-DRAYLIB_CMAKE=1")
set_property(CACHE USE_EXTERNAL_GLFW PROPERTY STRINGS ON OFF IF_POSSIBLE)
if(UNIX AND NOT APPLE)
option(USE_WAYLAND "Use Wayland for window creation" OFF)
endif()
# Linking for OS X -framework options # Linking for OS X -framework options
# Will do nothing on other OSes # Will do nothing on other OSes
@ -29,7 +24,7 @@ else()
endif() endif()
find_library(pthread NAMES pthread) find_library(pthread NAMES pthread)
find_package(OpenGL) find_package(OpenGL QUIET)
if ("${OPENGL_LIBRARIES}" STREQUAL "") if ("${OPENGL_LIBRARIES}" STREQUAL "")
if(NOT USE_WAYLAND) if(NOT USE_WAYLAND)
# CFLAGS=-m32 cmake on Linux fails for some reason, so fallback to hardcoding # CFLAGS=-m32 cmake on Linux fails for some reason, so fallback to hardcoding
@ -69,7 +64,7 @@ endif()
if(USE_EXTERNAL_GLFW STREQUAL "ON") if(USE_EXTERNAL_GLFW STREQUAL "ON")
find_package(glfw3 3.2.1 REQUIRED) find_package(glfw3 3.2.1 REQUIRED)
elseif(USE_EXTERNAL_GLFW STREQUAL "IF_POSSIBLE") elseif(USE_EXTERNAL_GLFW STREQUAL "IF_POSSIBLE")
find_package(glfw3 3.2.1) find_package(glfw3 3.2.1 QUIET)
endif() endif()
if (glfw3_FOUND) if (glfw3_FOUND)
set(LIBS_PRIVATE ${LIBS_PRIVATE} glfw) set(LIBS_PRIVATE ${LIBS_PRIVATE} glfw)
@ -114,4 +109,3 @@ function(link_libraries_to_executable executable)
target_link_libraries(${executable} raylib ${__PKG_CONFIG_LIBS_PRIVATE}) target_link_libraries(${executable} raylib ${__PKG_CONFIG_LIBS_PRIVATE})
endif() endif()
endfunction() endfunction()