diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2018-11-02 03:30:15 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2018-11-02 03:30:15 +0000 |
| commit | a4032a642a2f454e56c25bce148f3e71cc2bb9b8 (patch) | |
| tree | e9ea8e100ca4556e6d7c36cf962cf4f4be93e744 /Graphics/GraphicsEngineOpenGL | |
| parent | Second attempt to rename external/SPIRV-Headers to External/SPIRV-Headers (diff) | |
| download | DiligentCore-a4032a642a2f454e56c25bce148f3e71cc2bb9b8.tar.gz DiligentCore-a4032a642a2f454e56c25bce148f3e71cc2bb9b8.zip | |
Optimized build by making shared versions of backend libraries dependent on static ones
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
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(); } |
