Pārlūkot izejas kodu

Omnibus MinGW support patch: Updates to MinGW hacks block in CMakeLists. Updates to GLEE glue/exceptions in PolyGLHeaders, PolyGLSLShaderModule, PolyWinCore. Remove redundant gl includes in PolyWinCore.cpp. Include <ios> explicitly in windows PolycodeView. Omit multitouch support (code in PolycodeView, TUIO module) when compiling with MinGW. All targets other than MinGW+Windows should remain unchanged after bringing in these changes because everything's behind #ifdefs.

mcc 13 gadi atpakaļ
vecāks
revīzija
e13c35500a

+ 6 - 0
CMakeLists.txt

@@ -74,6 +74,7 @@ SET(LUA_LIBRARY lua5.1)
 SET(LUA_LIBRARIES lua5.1)
 SET(LUA_LIBRARIES lua5.1)
 SET(LUA_INCLUDE_DIR ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies/include/lua5.1)
 SET(LUA_INCLUDE_DIR ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies/include/lua5.1)
 SET(BOX2D_RELEASE_LIBRARY Box2D)
 SET(BOX2D_RELEASE_LIBRARY Box2D)
+SET(BOX2D_DEBUG_LIBRARY Box2D)
 SET(BOX2D_INCLUDE_DIR ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies/include)
 SET(BOX2D_INCLUDE_DIR ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies/include)
 SET(ASSIMP_INCLUDE_DIR ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies/include)
 SET(ASSIMP_INCLUDE_DIR ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies/include)
 SET(BULLET_INCLUDE_DIR ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies/include/bullet)
 SET(BULLET_INCLUDE_DIR ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies/include/bullet)
@@ -82,6 +83,11 @@ SET(LIBBULLETDYNAMICS BulletDynamics)
 SET(LIBBULLETMATH LinearMath)
 SET(LIBBULLETMATH LinearMath)
 SET(LIBBULLETMULTITHREADED BulletMultiThreaded)
 SET(LIBBULLETMULTITHREADED BulletMultiThreaded)
 SET(LIBBULLETSOFTBODY BulletSoftBody)
 SET(LIBBULLETSOFTBODY BulletSoftBody)
+SET(LIBBULLETCOLLISION_DEBUG BulletCollision)
+SET(LIBBULLETDYNAMICS_DEBUG BulletDynamics)
+SET(LIBBULLETMATH_DEBUG LinearMath)
+SET(LIBBULLETMULTITHREADED_DEBUG BulletMultiThreaded)
+SET(LIBBULLETSOFTBODY_DEBUG BulletSoftBody)
 ENDIF()
 ENDIF()
 
 
 # Process subdirectories
 # Process subdirectories

+ 2 - 0
Core/Contents/Include/PolyGLHeaders.h

@@ -96,6 +96,8 @@ typedef GLEEPFNGLVERTEXATTRIBPOINTERPROC PFNGLVERTEXATTRIBPOINTERPROC;
 typedef GLEEPFNGLENABLEVERTEXATTRIBARRAYARBPROC PFNGLENABLEVERTEXATTRIBARRAYARBPROC;
 typedef GLEEPFNGLENABLEVERTEXATTRIBARRAYARBPROC PFNGLENABLEVERTEXATTRIBARRAYARBPROC;
 typedef GLEEPFNGLBINDATTRIBLOCATIONPROC PFNGLBINDATTRIBLOCATIONPROC;
 typedef GLEEPFNGLBINDATTRIBLOCATIONPROC PFNGLBINDATTRIBLOCATIONPROC;
 typedef GLEEPFNGLUNIFORM2FPROC PFNGLUNIFORM2FPROC;
 typedef GLEEPFNGLUNIFORM2FPROC PFNGLUNIFORM2FPROC;
+typedef GLEEPFNWGLSWAPINTERVALEXTPROC PFNWGLSWAPINTERVALEXTPROC;
+typedef GLEEPFNWGLGETSWAPINTERVALEXTPROC PFNWGLGETSWAPINTERVALEXTPROC;
 #endif
 #endif
 
 
 #if defined(__APPLE__) && defined(__MACH__)
 #if defined(__APPLE__) && defined(__MACH__)

+ 4 - 1
Core/Contents/PolycodeView/MSVC/PolycodeView.cpp

@@ -5,7 +5,8 @@
 #include "PolyCoreInput.h"
 #include "PolyCoreInput.h"
 #include "PolyRenderer.h"
 #include "PolyRenderer.h"
 #include <io.h>
 #include <io.h>
-#include <fcntl.h>
+#include <fcntl.h>
+#include <ios>
 
 
 using namespace Polycode;
 using namespace Polycode;
 
 
@@ -91,6 +92,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 			core->handleMouseUp(CoreInput::MOUSE_BUTTON2, lParam,wParam);
 			core->handleMouseUp(CoreInput::MOUSE_BUTTON2, lParam,wParam);
 	break;
 	break;
 
 
+#ifndef NO_TOUCH_API
 	case WM_TOUCH:
 	case WM_TOUCH:
 		if(core) {
 		if(core) {
 			if(core->isMultiTouchEnabled()) {
 			if(core->isMultiTouchEnabled()) {
@@ -98,6 +100,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 			}
 			}
 		}
 		}
 	break;
 	break;
+#endif
 
 
 	case WM_MBUTTONDOWN:
 	case WM_MBUTTONDOWN:
 		if(core)
 		if(core)

+ 1 - 3
Core/Contents/Source/PolyGLSLShaderModule.cpp

@@ -64,10 +64,8 @@ PFNGLDELETEPROGRAMPROC glDeleteProgram;
 PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv;
 PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv;
 PFNGLGETSHADERIVPROC glGetShaderiv;
 PFNGLGETSHADERIVPROC glGetShaderiv;
 PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog;
 PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog;
-#ifndef _MINGW
 PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocation;
 PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocation;
 #endif
 #endif
-#endif
 
 
 GLSLShaderModule::GLSLShaderModule() : PolycodeShaderModule() {
 GLSLShaderModule::GLSLShaderModule() : PolycodeShaderModule() {
 #ifdef _WINDOWS
 #ifdef _WINDOWS
@@ -76,7 +74,6 @@ GLSLShaderModule::GLSLShaderModule() : PolycodeShaderModule() {
 	glUniform1f = (PFNGLUNIFORM1FPROC)wglGetProcAddress("glUniform1f");	
 	glUniform1f = (PFNGLUNIFORM1FPROC)wglGetProcAddress("glUniform1f");	
 	glUniform2f = (PFNGLUNIFORM2FPROC)wglGetProcAddress("glUniform2f");	
 	glUniform2f = (PFNGLUNIFORM2FPROC)wglGetProcAddress("glUniform2f");	
 	glUniform3f = (PFNGLUNIFORM3FPROC)wglGetProcAddress("glUniform3f");
 	glUniform3f = (PFNGLUNIFORM3FPROC)wglGetProcAddress("glUniform3f");
-	glUniform4f = (PFNGLUNIFORM4FPROC)wglGetProcAddress("glUniform4f");
 	glCreateShader = (PFNGLCREATESHADERPROC)wglGetProcAddress("glCreateShader");
 	glCreateShader = (PFNGLCREATESHADERPROC)wglGetProcAddress("glCreateShader");
 	glShaderSource = (PFNGLSHADERSOURCEPROC)wglGetProcAddress("glShaderSource");
 	glShaderSource = (PFNGLSHADERSOURCEPROC)wglGetProcAddress("glShaderSource");
 	glCompileShader = (PFNGLCOMPILESHADERPROC)wglGetProcAddress("glCompileShader");
 	glCompileShader = (PFNGLCOMPILESHADERPROC)wglGetProcAddress("glCompileShader");
@@ -93,6 +90,7 @@ GLSLShaderModule::GLSLShaderModule() : PolycodeShaderModule() {
 
 
 #ifndef _MINGW
 #ifndef _MINGW
 	glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONARBPROC)wglGetProcAddress("glGetUniformLocation");
 	glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONARBPROC)wglGetProcAddress("glGetUniformLocation");
+	glUniform4f = (PFNGLUNIFORM4FPROC)wglGetProcAddress("glUniform4f");
 #endif
 #endif
 #endif
 #endif
 }
 }

+ 2 - 6
Core/Contents/Source/PolyWinCore.cpp

@@ -38,14 +38,10 @@
 #include <Shellapi.h>
 #include <Shellapi.h>
 #include <Commdlg.h>
 #include <Commdlg.h>
 
 
-#include <GL/gl.h>
-#include <GL/glext.h>
-#ifndef _MINGW
-#include <GL/wglext.h>
-#endif
-
+#if !defined(_MINGW)
 PFNWGLSWAPINTERVALEXTPROC       wglSwapIntervalEXT = NULL;
 PFNWGLSWAPINTERVALEXTPROC       wglSwapIntervalEXT = NULL;
 PFNWGLGETSWAPINTERVALEXTPROC    wglGetSwapIntervalEXT = NULL;
 PFNWGLGETSWAPINTERVALEXTPROC    wglGetSwapIntervalEXT = NULL;
+#endif
 
 
 using namespace Polycode;
 using namespace Polycode;
 
 

+ 2 - 0
Modules/Contents/CMakeLists.txt

@@ -17,4 +17,6 @@ ENDIF(FREENECT_FOUND)
  
  
 ADD_SUBDIRECTORY(UI)
 ADD_SUBDIRECTORY(UI)
 
 
+IF (NOT MINGW)
 ADD_SUBDIRECTORY(TUIO)
 ADD_SUBDIRECTORY(TUIO)
+ENDIF(NOT MINGW)