Bläddra i källkod

makes sdl.hdll compilable on mac

Andy Li 8 år sedan
förälder
incheckning
eb461fe499
5 ändrade filer med 58 tillägg och 8 borttagningar
  1. 26 0
      .travis.yml
  2. 14 0
      CMakeLists.txt
  3. 15 6
      cmake/FindSDL2.cmake
  4. 2 0
      libs/sdl/GLImports.h
  5. 1 2
      libs/sdl/gl.c

+ 26 - 0
.travis.yml

@@ -41,15 +41,41 @@ matrix:
     - haxe: development
       os: osx
       osx_image: xcode8
+      env: BUILD=make
       before_install:
         - brew update
         - brew install jpeg-turbo sdl2
+    - haxe: development
+      os: osx
+      osx_image: xcode8
+      env: BUILD=cmake
+      before_install:
+        - brew update
+        - brew install jpeg-turbo sdl2
+      install:
+        - cmake .
+        - make
+      script:
+        - make test ARGS="-V"
     - haxe: development
       os: osx
       osx_image: xcode7.1
+      env: BUILD=make
       before_install:
         - brew update
         - brew install jpeg-turbo sdl2
+    - haxe: development
+      os: osx
+      osx_image: xcode7.1
+      env: BUILD=cmake
+      before_install:
+        - brew update
+        - brew install jpeg-turbo sdl2
+      install:
+        - cmake .
+        - make
+      script:
+        - make test ARGS="-V"
 
 install:
   - make all

+ 14 - 0
CMakeLists.txt

@@ -1,5 +1,7 @@
 cmake_minimum_required(VERSION 2.8.12)
 
+cmake_policy(SET CMP0042 NEW)
+
 include(GNUInstallDirs)
 project(hashlink C)
 
@@ -154,6 +156,18 @@ if(WIN32)
     )
 endif()
 
+if (APPLE)
+    find_package(OPENGL REQUIRED)
+    target_include_directories(sdl.hdll
+        PRIVATE
+        ${OPENGL_INCLUDE_DIR}
+    )
+    target_link_libraries(sdl.hdll
+        libhl
+        ${OPENGL_gl_LIBRARY}
+    )
+endif()
+
 #####################
 # fmt.hdll
 

+ 15 - 6
cmake/FindSDL2.cmake

@@ -76,12 +76,21 @@ SET(SDL2_SEARCH_PATHS
 	${SDL2_PATH}
 )
 
-FIND_PATH(SDL2_INCLUDE_DIR SDL.h
-	HINTS
-	$ENV{SDL2DIR}
-	PATH_SUFFIXES include/SDL2 include
-	PATHS ${SDL2_SEARCH_PATHS}
-)
+if (APPLE)
+	FIND_PATH(SDL2_INCLUDE_DIR SDL2/SDL.h
+		HINTS
+		$ENV{SDL2DIR}
+		PATH_SUFFIXES include/SDL2 include
+		PATHS ${SDL2_SEARCH_PATHS}
+	)
+else()
+	FIND_PATH(SDL2_INCLUDE_DIR SDL.h
+		HINTS
+		$ENV{SDL2DIR}
+		PATH_SUFFIXES include/SDL2 include
+		PATHS ${SDL2_SEARCH_PATHS}
+	)
+endif()
 
 if(CMAKE_SIZEOF_VOID_P EQUAL 8) 
 	set(PATH_SUFFIXES lib64 lib/x64 lib)

+ 2 - 0
libs/sdl/GLImports.h

@@ -1,3 +1,4 @@
+#ifndef __APPLE__
 GL_IMPORT(glCreateProgram, CREATEPROGRAM);
 GL_IMPORT(glLinkProgram, LINKPROGRAM);
 GL_IMPORT(glAttachShader, ATTACHSHADER);
@@ -35,6 +36,7 @@ GL_IMPORT(glUniform4fv, UNIFORM4FV);
 GL_IMPORT(glGetShaderiv, GETSHADERIV);
 GL_IMPORT(glGetProgramiv, GETPROGRAMIV);
 GL_IMPORT(glVertexAttribPointer, VERTEXATTRIBPOINTER);
+#endif
 #ifdef _WIN32
 GL_IMPORT(glBlendEquation, BLENDEQUATION);
 GL_IMPORT(glActiveTexture, ACTIVETEXTURE);

+ 1 - 2
libs/sdl/gl.c

@@ -3,8 +3,7 @@
 
 #if defined(__APPLE__)
 #	include <SDL2/SDL.h>
-#	include <OpenGL/glu.h>
-#	include <OpenGL/glext.h>
+#	include <OpenGL/gl.h>
 #elif defined(_WIN32)
 #	include <SDL.h>
 #	include <GL/GLU.h>