aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAhmad Fatoum <ahmad@a3f.at>2017-11-22 22:33:47 +0100
committerAhmad Fatoum <ahmad@a3f.at>2017-11-22 23:11:41 +0100
commitb2acff66dec7bce30e9704aa9b13070f7c3ffac1 (patch)
tree1d8b7e639a550c8006f2e7987c2d8f1e4eac83cb
parent899e1fbd94f697d95b9684e272de5410b08edc06 (diff)
downloadraylib-b2acff66dec7bce30e9704aa9b13070f7c3ffac1.tar.gz
raylib-b2acff66dec7bce30e9704aa9b13070f7c3ffac1.zip
Fix macOS build of new rglfw.c approach
There have been two problems: * GLFW itself was compiled with the definitions for compiling _against_ GLFW (fixed by removing requirement for external glfw) * rglfw.c was being compiled as C code, although it includes Objective C files. This _might_ break the Windows build, needs to be checked. Fixes #391, but as noted I'd prefer though a separate source directory and build script for GLFW.
-rw-r--r--.travis.yml3
-rw-r--r--src/CMakeLists.txt6
-rw-r--r--src/gestures.h6
-rw-r--r--src/rglfw.c2
-rw-r--r--utils.cmake7
5 files changed, 8 insertions, 16 deletions
diff --git a/.travis.yml b/.travis.yml
index 7a5148ad..8b122c47 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -25,9 +25,8 @@ before_install:
libopenal-dev
libxcursor-dev libxinerama-dev
mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev libglew-dev;
- wget 'https://github.com/a3f/GLFW-3.2.1-Debian-binary-package/releases/download/v3.2.1/GLFW-3.2.1-Linux.deb' && sudo dpkg -i GLFW-3.2.1-Linux.deb;
fi
- - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; brew install glfw; export CC=clang; fi
+ - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; brew install glfw; fi
- "$CC --version"
script:
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a398d665..f362b52f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -20,6 +20,7 @@ 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")
### Config options ###
+include_directories(external/glfw/include)
# Translate the config options to what raylib wants
if(${PLATFORM} MATCHES "Desktop")
@@ -40,6 +41,8 @@ if(${PLATFORM} MATCHES "Desktop")
# See: https://github.com/raysan5/raylib/issues/341
if(APPLE)
set(GRAPHICS "GRAPHICS_API_OPENGL_33")
+ set_source_files_properties(rglfw.c PROPERTIES COMPILE_FLAGS "-x objective-c")
+ link_libraries("-framework CoreFoundation -framework Cocoa -framework IOKit -framework CoreVideo")
endif()
elseif(${PLATFORM} MATCHES "Web")
set(PLATFORM "PLATFORM_WEB")
@@ -93,9 +96,6 @@ if(${PLATFORM} MATCHES "PLATFORM_DESKTOP")
target_link_libraries(${RAYLIB} GL)
endif()
- # Add in GLFW as a linking target
- target_link_libraries(${RAYLIB} glfw)
-
# Library file & Header
set_target_properties(${RAYLIB} PROPERTIES PUBLIC_HEADER "raylib.h")
install(
diff --git a/src/gestures.h b/src/gestures.h
index 2e343154..e2f004e2 100644
--- a/src/gestures.h
+++ b/src/gestures.h
@@ -140,9 +140,6 @@ float GetGesturePinchAngle(void); // Get gesture pinch ang
#if defined(GESTURES_IMPLEMENTATION)
-#include <math.h> // Required for: atan2(), sqrt()
-#include <stdint.h> // Required for: uint64_t
-
#if defined(_WIN32)
// Functions required to query time on Windows
int __stdcall QueryPerformanceCounter(unsigned long long int *lpPerformanceCount);
@@ -154,6 +151,9 @@ float GetGesturePinchAngle(void); // Get gesture pinch ang
#endif
#include <sys/time.h> // Required for: timespec
#include <time.h> // Required for: clock_gettime()
+
+ #include <math.h> // Required for: atan2(), sqrt()
+ #include <stdint.h> // Required for: uint64_t
#endif
//----------------------------------------------------------------------------------
diff --git a/src/rglfw.c b/src/rglfw.c
index b1b4eed7..83e0021b 100644
--- a/src/rglfw.c
+++ b/src/rglfw.c
@@ -86,5 +86,5 @@
#include "external/glfw/src/posix_thread.c"
#include "external/glfw/src/nsgl_context.m"
#include "external/glfw/src/egl_context.c"
- #include "external/glfw/src/osmesa_context.c.m"
+ #include "external/glfw/src/osmesa_context.c"
#endif
diff --git a/utils.cmake b/utils.cmake
index c902f60e..f260fa5e 100644
--- a/utils.cmake
+++ b/utils.cmake
@@ -6,10 +6,6 @@ if(UNIX AND NOT APPLE)
set(LINUX TRUE)
endif()
-# Need GLFW 3.2.1
-find_package(glfw3 3.2.1 REQUIRED)
-
-
# Linking for OS X -framework options
# Will do nothing on other OSes
function(link_os_x_frameworks binary)
@@ -40,9 +36,6 @@ function(link_libraries_to_executable executable)
# TODO windows
endif()
- # Add in GLFW as a linking target
- target_link_libraries(${executable} glfw)
-
# And raylib
target_link_libraries(${executable} raylib)
endfunction()