summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineOpenGL
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2017-12-04 06:49:58 +0000
committerEgor Yusov <egor.yusov@gmail.com>2017-12-04 06:49:58 +0000
commit31ef1439afad23453772ab694f532ff589c92939 (patch)
tree0f15b5f12ccd8d114cf00357ab3497aa05e61472 /Graphics/GraphicsEngineOpenGL
parentFixed Android build issues (diff)
downloadDiligentCore-31ef1439afad23453772ab694f532ff589c92939.tar.gz
DiligentCore-31ef1439afad23453772ab694f532ff589c92939.zip
Added cmake files
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
-rw-r--r--Graphics/GraphicsEngineOpenGL/CMakeLists.txt156
-rw-r--r--Graphics/GraphicsEngineOpenGL/include/pch.h4
2 files changed, 159 insertions, 1 deletions
diff --git a/Graphics/GraphicsEngineOpenGL/CMakeLists.txt b/Graphics/GraphicsEngineOpenGL/CMakeLists.txt
new file mode 100644
index 00000000..7297104f
--- /dev/null
+++ b/Graphics/GraphicsEngineOpenGL/CMakeLists.txt
@@ -0,0 +1,156 @@
+cmake_minimum_required (VERSION 3.3)
+
+project(GraphicsEngineOpenGL)
+
+set(INCLUDE
+ include/AsyncWritableResource.h
+ include/BufferGLImpl.h
+ include/BufferViewGLImpl.h
+ include/DeviceContextGLImpl.h
+ include/FBOCache.h
+ include/GLContext.h
+ include/GLContextAndroid.h
+ include/GLContextState.h
+ include/GLContextWindows.h
+ include/GLObjectWrapper.h
+ include/GLProgram.h
+ include/GLProgramResources.h
+ include/GLStubs.h
+ include/GLTypeConversions.h
+ include/PipelineStateGLImpl.h
+ include/RenderDeviceGLESImpl.h
+ include/RenderDeviceGLImpl.h
+ include/SamplerGLImpl.h
+ include/ShaderGLImpl.h
+ include/ShaderResourceBindingGLImpl.h
+ include/SwapChainGLImpl.h
+ include/TexRegionRender.h
+ include/Texture1D_OGL.h
+ include/Texture1DArray_OGL.h
+ include/Texture2D_OGL.h
+ include/Texture2DArray_OGL.h
+ include/Texture3D_OGL.h
+ include/TextureBaseGL.h
+ include/TextureCube_OGL.h
+ include/TextureCubeArray_OGL.h
+ include/TextureViewGLImpl.h
+ include/VAOCache.h
+)
+
+set(INTERFACE
+ interface/BaseInterfacesGL.h
+ interface/BufferGL.h
+ interface/BufferViewGL.h
+ interface/DeviceContextGL.h
+ interface/PipelineStateGL.h
+ interface/RenderDeviceFactoryOpenGL.h
+ interface/RenderDeviceGL.h
+ interface/RenderDeviceGLES.h
+ interface/SamplerGL.h
+ interface/ShaderGL.h
+ interface/ShaderResourceBindingGL.h
+ interface/SwapChainGL.h
+ interface/TextureGL.h
+ interface/TextureViewGL.h
+)
+
+set(SOURCE
+ src/BufferGLImpl.cpp
+ src/BufferViewGLImpl.cpp
+ src/DeviceContextGLImpl.cpp
+ src/FBOCache.cpp
+ src/GLContextState.cpp
+ src/GLObjectWrapper.cpp
+ src/GLProgram.cpp
+ src/GLProgramResources.cpp
+ src/GLTypeConversions.cpp
+ src/PipelineStateGLImpl.cpp
+ src/RenderDeviceFactoryOpenGL.cpp
+ src/RenderDeviceGLImpl.cpp
+ src/SamplerGLImpl.cpp
+ src/ShaderGLImpl.cpp
+ src/ShaderResourceBindingGLImpl.cpp
+ src/SwapChainGLImpl.cpp
+ src/TexRegionRender.cpp
+ src/Texture1D_OGL.cpp
+ src/Texture1DArray_OGL.cpp
+ src/Texture2D_OGL.cpp
+ src/Texture2DArray_OGL.cpp
+ src/Texture3D_OGL.cpp
+ src/TextureBaseGL.cpp
+ src/TextureCube_OGL.cpp
+ src/TextureCubeArray_OGL.cpp
+ src/TextureViewGLImpl.cpp
+ src/VAOCache.cpp
+)
+if(WIN32)
+ list(APPEND SOURCE src/GLContextWindows.cpp)
+ list(APPEND SOURCE src/RenderDeviceGLImpl.cpp)
+elseif(ANRDOID)
+ list(APPEND SOURCE src/GLContextAndroid.cpp)
+ list(APPEND SOURCE src/RenderDeviceGLESImpl.cpp)
+ list(APPEND SOURCE src/GLStubs.cpp)
+endif()
+
+
+add_library(GraphicsEngineOpenGL-static STATIC
+ ${SOURCE} ${INTERFACE} ${INCLUDE}
+)
+
+add_library(GraphicsEngineOpenGL-shared SHARED
+ ${SOURCE} ${INTERFACE} ${INCLUDE}
+ src/DLLMain.cpp
+ src/GraphicsEngineOpenGL.def
+)
+
+target_include_directories(GraphicsEngineOpenGL-static
+PUBLIC
+ include
+ interface
+PRIVATE
+ ../HLSL2GLSLConverterLib/include
+)
+
+target_include_directories(GraphicsEngineOpenGL-shared
+PUBLIC
+ include
+ interface
+PRIVATE
+ ../HLSL2GLSLConverterLib/include
+)
+
+
+set(PRIVATE_DEPENDENCIES
+ BuildSettings
+ glew-static
+ PlatformInterface
+ Common
+ GraphicsEngine
+ GraphicsTools
+ glew-static
+ opengl32.lib
+ TargetPlatform
+)
+
+set(PUBLIC_DEPENDENCIES
+ HLSL2GLSLConverterLib
+)
+
+target_link_libraries(GraphicsEngineOpenGL-static PRIVATE ${PRIVATE_DEPENDENCIES} PUBLIC ${PUBLIC_DEPENDENCIES})
+target_link_libraries(GraphicsEngineOpenGL-shared PRIVATE ${PRIVATE_DEPENDENCIES} PUBLIC ${PUBLIC_DEPENDENCIES})
+target_compile_definitions(GraphicsEngineOpenGL-shared PUBLIC ENGINE_DLL)
+
+set_target_properties(GraphicsEngineOpenGL-shared PROPERTIES
+ OUTPUT_NAME_DEBUG GraphicsEngineOpenGL${DLL_DBG_SUFFIX}
+ OUTPUT_NAME_RELEASE GraphicsEngineOpenGL${DLL_REL_SUFFIX}
+ OUTPUT_NAME_RELWITHDEBINFO GraphicsEngineOpenGL${DLL_REL_SUFFIX}
+ OUTPUT_NAME_MINSIZEREL GraphicsEngineOpenGL${DLL_REL_SUFFIX}
+)
+
+source_group("src" FILES
+ ${SOURCE}
+ src/DLLMain.cpp
+)
+
+source_group("include" FILES ${INCLUDE})
+source_group("interface" FILES ${INTERFACE})
diff --git a/Graphics/GraphicsEngineOpenGL/include/pch.h b/Graphics/GraphicsEngineOpenGL/include/pch.h
index f7565490..9e6faac7 100644
--- a/Graphics/GraphicsEngineOpenGL/include/pch.h
+++ b/Graphics/GraphicsEngineOpenGL/include/pch.h
@@ -37,7 +37,9 @@
// Must be defined to use static version of glew
#ifdef PLATFORM_WIN32
- #define GLEW_STATIC
+# ifndef GLEW_STATIC
+# define GLEW_STATIC
+# endif
#include "glew.h"
// Glew includes <windows.h>
#define NOMINMAX