summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineOpenGL
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2018-11-02 03:30:15 +0000
committerEgor Yusov <egor.yusov@gmail.com>2018-11-02 03:30:15 +0000
commita4032a642a2f454e56c25bce148f3e71cc2bb9b8 (patch)
treee9ea8e100ca4556e6d7c36cf962cf4f4be93e744 /Graphics/GraphicsEngineOpenGL
parentSecond attempt to rename external/SPIRV-Headers to External/SPIRV-Headers (diff)
downloadDiligentCore-a4032a642a2f454e56c25bce148f3e71cc2bb9b8.tar.gz
DiligentCore-a4032a642a2f454e56c25bce148f3e71cc2bb9b8.zip
Optimized build by making shared versions of backend libraries dependent on static ones
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
-rw-r--r--Graphics/GraphicsEngineOpenGL/CMakeLists.txt10
-rw-r--r--Graphics/GraphicsEngineOpenGL/interface/RenderDeviceFactoryOpenGL.h9
-rw-r--r--Graphics/GraphicsEngineOpenGL/src/DLLMain.cpp3
-rw-r--r--Graphics/GraphicsEngineOpenGL/src/GraphicsEngineOpenGL.def2
-rw-r--r--Graphics/GraphicsEngineOpenGL/src/RenderDeviceFactoryOpenGL.cpp3
5 files changed, 13 insertions, 14 deletions
diff --git a/Graphics/GraphicsEngineOpenGL/CMakeLists.txt b/Graphics/GraphicsEngineOpenGL/CMakeLists.txt
index b78a7fb2..d32bab6b 100644
--- a/Graphics/GraphicsEngineOpenGL/CMakeLists.txt
+++ b/Graphics/GraphicsEngineOpenGL/CMakeLists.txt
@@ -64,7 +64,7 @@ set(SOURCE
src/GLProgramResources.cpp
src/GLTypeConversions.cpp
src/PipelineStateGLImpl.cpp
- src/RenderDeviceFactoryOpenGL.cpp
+ src/RenderDeviceFactoryOpenGL.cpp
src/RenderDeviceGLImpl.cpp
src/SamplerGLImpl.cpp
src/ShaderGLImpl.cpp
@@ -136,7 +136,6 @@ add_library(GraphicsEngineOpenGL-static STATIC
)
add_library(GraphicsEngineOpenGL-shared SHARED
- ${SOURCE} ${INTERFACE} ${INCLUDE}
readme.md
)
if(PLATFORM_WIN32)
@@ -153,11 +152,6 @@ PRIVATE
../HLSL2GLSLConverterLib/include
)
-target_include_directories(GraphicsEngineOpenGL-shared
-PRIVATE
- include
- ../HLSL2GLSLConverterLib/include
-)
set(PRIVATE_DEPENDENCIES
BuildSettings
@@ -201,7 +195,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
endif()
target_link_libraries(GraphicsEngineOpenGL-static PRIVATE ${PRIVATE_DEPENDENCIES} PUBLIC ${PUBLIC_DEPENDENCIES})
-target_link_libraries(GraphicsEngineOpenGL-shared PRIVATE ${PRIVATE_DEPENDENCIES} PUBLIC ${PUBLIC_DEPENDENCIES})
+target_link_libraries(GraphicsEngineOpenGL-shared PUBLIC GraphicsEngineOpenGL-static)
target_compile_definitions(GraphicsEngineOpenGL-shared PUBLIC ENGINE_DLL=1 PRIVATE BUILDING_DLL=1)
if(PLATFORM_WIN32)
diff --git a/Graphics/GraphicsEngineOpenGL/interface/RenderDeviceFactoryOpenGL.h b/Graphics/GraphicsEngineOpenGL/interface/RenderDeviceFactoryOpenGL.h
index b133b113..4a2b28f5 100644
--- a/Graphics/GraphicsEngineOpenGL/interface/RenderDeviceFactoryOpenGL.h
+++ b/Graphics/GraphicsEngineOpenGL/interface/RenderDeviceFactoryOpenGL.h
@@ -105,7 +105,7 @@ public:
return false;
}
- GetFactoryFunc = reinterpret_cast<GetEngineFactoryOpenGLType>( GetProcAddress(hModule, "GetEngineFactoryOpenGL") );
+ GetFactoryFunc = reinterpret_cast<GetEngineFactoryOpenGLType>( GetProcAddress(hModule, "GetEngineFactoryOpenGLInternal") );
if( GetFactoryFunc == NULL )
{
std::stringstream ss;
@@ -119,9 +119,14 @@ public:
#else
+ IEngineFactoryOpenGL* GetEngineFactoryOpenGLInternal();
+
// Do not forget to call System.loadLibrary("GraphicsEngineOpenGL") in Java on Android!
API_QUALIFIER
- IEngineFactoryOpenGL* GetEngineFactoryOpenGL();
+ inline IEngineFactoryOpenGL* GetEngineFactoryOpenGL()
+ {
+ return GetEngineFactoryOpenGLInternal();
+ }
#endif
diff --git a/Graphics/GraphicsEngineOpenGL/src/DLLMain.cpp b/Graphics/GraphicsEngineOpenGL/src/DLLMain.cpp
index 58b1c375..419f9921 100644
--- a/Graphics/GraphicsEngineOpenGL/src/DLLMain.cpp
+++ b/Graphics/GraphicsEngineOpenGL/src/DLLMain.cpp
@@ -21,7 +21,8 @@
* of the possibility of such damages.
*/
-#include "pch.h"
+#include <Windows.h>
+#include <crtdbg.h>
BOOL APIENTRY DllMain(HANDLE hModule,
DWORD ul_reason_for_call,
diff --git a/Graphics/GraphicsEngineOpenGL/src/GraphicsEngineOpenGL.def b/Graphics/GraphicsEngineOpenGL/src/GraphicsEngineOpenGL.def
index 2d2ee59f..1de05b4c 100644
--- a/Graphics/GraphicsEngineOpenGL/src/GraphicsEngineOpenGL.def
+++ b/Graphics/GraphicsEngineOpenGL/src/GraphicsEngineOpenGL.def
@@ -1,2 +1,2 @@
EXPORTS
- GetEngineFactoryOpenGL \ No newline at end of file
+ GetEngineFactoryOpenGLInternal \ No newline at end of file
diff --git a/Graphics/GraphicsEngineOpenGL/src/RenderDeviceFactoryOpenGL.cpp b/Graphics/GraphicsEngineOpenGL/src/RenderDeviceFactoryOpenGL.cpp
index a3e4d276..435a655f 100644
--- a/Graphics/GraphicsEngineOpenGL/src/RenderDeviceFactoryOpenGL.cpp
+++ b/Graphics/GraphicsEngineOpenGL/src/RenderDeviceFactoryOpenGL.cpp
@@ -235,8 +235,7 @@ void EngineFactoryOpenGLImpl::CreateHLSL2GLSLConverter(IHLSL2GLSLConverter **ppC
}
-API_QUALIFIER
-Diligent::IEngineFactoryOpenGL* GetEngineFactoryOpenGL()
+Diligent::IEngineFactoryOpenGL* GetEngineFactoryOpenGLInternal()
{
return Diligent::EngineFactoryOpenGLImpl::GetInstance();
}