summaryrefslogtreecommitdiffhomepage
path: root/src/CMakeOptions.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/CMakeOptions.txt')
-rw-r--r--src/CMakeOptions.txt29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/CMakeOptions.txt b/src/CMakeOptions.txt
index 00fc7904..4ed1a375 100644
--- a/src/CMakeOptions.txt
+++ b/src/CMakeOptions.txt
@@ -1,13 +1,24 @@
### Config options ###
include(CMakeDependentOption)
+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")
+
# 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)
+if(${PLATFORM} MATCHES "Web")
+ cmake_dependent_option(USE_OPENAL_BACKEND "Link raylib with openAL instead of mini-al" ON "USE_AUDIO" OFF)
+else()
+ cmake_dependent_option(USE_OPENAL_BACKEND "Link raylib with openAL instead of mini-al" OFF "USE_AUDIO" OFF)
+endif()
+
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)
@@ -15,12 +26,6 @@ if(UNIX AND NOT APPLE)
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)
@@ -88,4 +93,14 @@ if(DEFINED STATIC_RAYLIB)
message(DEPRECATION "-DSTATIC_RAYLIB is deprecated. Please use -DSTATIC instead.")
endif()
+if(${PLATFORM} MATCHES "Desktop" AND APPLE)
+ if(MACOS_FATLIB)
+ if (CMAKE_OSX_ARCHITECTURES)
+ message(FATAL_ERROR "User supplied -DCMAKE_OSX_ARCHITECTURES overrides -DMACOS_FATLIB=ON")
+ else()
+ set(CMAKE_OSX_ARCHITECTURES "x86_64;i386")
+ endif()
+ endif()
+endif()
+
# vim: ft=cmake