From 1b9c04ade51e272e38750b8a748c53939865287c Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Wed, 9 Oct 2013 13:31:55 +0700 Subject: [PATCH] Fix Linux compilation. --- CMakeLists.txt | 82 +++++++++++++++++++++++++++++++++++++++++ Config_linux.cpp | 4 +- DepthBuffer.cpp | 2 +- GBI.cpp | 4 +- GLSLCombiner.cpp | 2 +- OpenGL.cpp | 14 ++----- OpenGL.h | 18 ++++----- RSP.h | 8 ++-- texture_env_combine.cpp | 1 + 9 files changed, 105 insertions(+), 30 deletions(-) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..6d275142 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,82 @@ +cmake_minimum_required(VERSION 2.6) + +project( GLideN64 ) + +set(GLideN64_SOURCES + 2xSAI.cpp + Combiner.cpp + CRC.cpp + Debug.cpp + Debug_linux.cpp + DepthBuffer.cpp + F3D.cpp + F3DDKR.cpp + F3DEX2.cpp + F3DEX.cpp + F3DPD.cpp + F3DWRUS.cpp + FrameBuffer.cpp + GBI.cpp + gDP.cpp + GLideN64.cpp + GLSLCombiner.cpp + gSP.cpp + L3D.cpp + L3DEX2.cpp + L3DEX.cpp + N64.cpp + NV_register_combiners.cpp + OpenGL.cpp + RDP.cpp + RSP.cpp + S2DEX2.cpp + S2DEX.cpp + texture_env_combine.cpp + texture_env.cpp + Textures.cpp + VI.cpp +) + +set(GLideN64_SOURCES_WIN + Config.cpp +) + +set(GLideN64_SOURCES_LINUX + Config_linux.cpp +) + +if(UNIX) + list(APPEND GLideN64_SOURCES ${GLideN64_SOURCES_LINUX}) + add_definitions(-D__LINUX__) + find_package(PkgConfig) + pkg_check_modules(GLIB REQUIRED glib-2.0) + include_directories(${GLIB_INCLUDE_DIRS}) + find_package(GTK2 REQUIRED) + include_directories(${GTK2_INCLUDE_DIRS}) +endif(UNIX) + +if(WIN32) + list(APPEND GLideN64_SOURCES ${GLideN64_SOURCES_WIN}) + add_definitions( + -DWIN32 + -DWINDOWS + -D__WIN32__ + -D_WIN32 + -D_CRT_SECURE_NO_WARNINGS + -D__MSC__ + ) +endif(WIN32) + +if(SDL) + include_directories(${SDL_INCLUDE_DIRS}) +endif(SDL) + +add_library( GLideN64 SHARED ${GLideN64_SOURCES}) + +SET_TARGET_PROPERTIES( + GLideN64 + PROPERTIES + LINKER_LANGUAGE CXX # Or else we get an error message, because cmake can't figure out from the ".o"-suffix that it is a C-linker we need. + PREFIX "" + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/plugin + ) diff --git a/Config_linux.cpp b/Config_linux.cpp index f9342a1f..ae273458 100644 --- a/Config_linux.cpp +++ b/Config_linux.cpp @@ -1,11 +1,11 @@ #include "winlnxdefs.h" -#include "SDL.h" +# include #include #include #include #include "Config.h" -#include "glN64.h" +#include "GLideN64.h" #include "RSP.h" #include "Textures.h" #include "OpenGL.h" diff --git a/DepthBuffer.cpp b/DepthBuffer.cpp index c1530b29..a4bb2d91 100644 --- a/DepthBuffer.cpp +++ b/DepthBuffer.cpp @@ -24,7 +24,7 @@ void DepthBuffer_RemoveBottom() depthBuffer.top = NULL; if (depthBuffer.bottom->renderbuf != 0) - glDeleteRenderbuffers(1, &depthBuffer.bottom->renderbuf); + ogl_glDeleteRenderbuffers(1, &depthBuffer.bottom->renderbuf); free( depthBuffer.bottom ); depthBuffer.bottom = newBottom; diff --git a/GBI.cpp b/GBI.cpp index 9a0920a1..7dd12074 100644 --- a/GBI.cpp +++ b/GBI.cpp @@ -18,8 +18,8 @@ #ifndef __LINUX__ # include "Resource.h" #else // !__LINUX__ -# include -# include +#include +#include #endif // __LINUX__ #include "CRC.h" #include "Debug.h" diff --git a/GLSLCombiner.cpp b/GLSLCombiner.cpp index d3eb6073..bab4837f 100644 --- a/GLSLCombiner.cpp +++ b/GLSLCombiner.cpp @@ -4,11 +4,11 @@ #include #include #include -#include #else # include "winlnxdefs.h" # include // malloc() #endif +#include #include "OpenGL.h" #include "Combiner.h" #include "GLSLCombiner.h" diff --git a/OpenGL.cpp b/OpenGL.cpp index 0687df75..a966182c 100644 --- a/OpenGL.cpp +++ b/OpenGL.cpp @@ -1,18 +1,8 @@ -#ifndef __LINUX__ -# include -# include -# include "glext.h" -#else // !__LINUX__ -# include "winlnxdefs.h" -# include -# include -# include "SDL.h" -#endif // __LINUX__ +#include "OpenGL.h" #include #include #include #include "GLideN64.h" -#include "OpenGL.h" #include "Types.h" #include "N64.h" #include "gSP.h" @@ -254,6 +244,7 @@ void OGL_InitExtensions() OGL.ATIX_texture_env_route = isExtensionSupported( "GL_ATIX_texture_env_route" ); OGL.NV_texture_env_combine4 = isExtensionSupported( "GL_NV_texture_env_combine4" ); +#ifndef __LINUX__ glDrawBuffers = (PFNGLDRAWBUFFERSPROC)wglGetProcAddress( "glDrawBuffers" ); glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)wglGetProcAddress( "glBindFramebuffer" ); glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)wglGetProcAddress( "glDeleteFramebuffers" ); @@ -285,6 +276,7 @@ void OGL_InitExtensions() glRenderbufferStorageEXT = (PFNGLRENDERBUFFERSTORAGEEXTPROC)wglGetProcAddress("glRenderbufferStorageEXT"); glFramebufferRenderbufferEXT = (PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)wglGetProcAddress("glFramebufferRenderbufferEXT"); glBlitFramebufferEXT = (PFNGLBLITFRAMEBUFFEREXTPROC)wglGetProcAddress("glBlitFramebufferEXT"); +#endif // !__LINUX__ if (glGenFramebuffers != NULL) OGL.framebuffer_mode = GLInfo::fbFBO; diff --git a/OpenGL.h b/OpenGL.h index 0eb4c341..3efdba75 100644 --- a/OpenGL.h +++ b/OpenGL.h @@ -2,18 +2,18 @@ #define OPENGL_H #ifndef __LINUX__ -# include -# include -# include "wglext.h" -# include "glext.h" +#include +#include +#include "wglext.h" +#include "glext.h" #else -# include "winlnxdefs.h" -# include -# include -# include "SDL.h" +#define GL_GLEXT_PROTOTYPES +#include "winlnxdefs.h" +#include +#include +#include #endif // __LINUX__ -#include "glATI.h" #include "gSP.h" struct GLVertex diff --git a/RSP.h b/RSP.h index 22199bae..581c4c02 100644 --- a/RSP.h +++ b/RSP.h @@ -2,11 +2,11 @@ #define RSP_H #ifndef __LINUX__ -# include +#include #else -# include "winlnxdefs.h" -# include "SDL.h" -# include "SDL_thread.h" +#include "winlnxdefs.h" +#include +#include #endif #include "N64.h" #include "GBI.h" diff --git a/texture_env_combine.cpp b/texture_env_combine.cpp index 00a0083f..fecabeb9 100644 --- a/texture_env_combine.cpp +++ b/texture_env_combine.cpp @@ -7,6 +7,7 @@ #include "OpenGL.h" #include "Combiner.h" #include "texture_env_combine.h" +#include "glATI.h" static TexEnvCombinerArg TexEnvArgs[] = {