From 8037c879fba232aa4d389b95d5e4bbe9c80cae14 Mon Sep 17 00:00:00 2001 From: logzero Date: Fri, 1 May 2020 21:35:48 +0200 Subject: Use export map to restrict visible lib symbols under MinGW. --- Graphics/GraphicsEngineVulkan/CMakeLists.txt | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'Graphics/GraphicsEngineVulkan') diff --git a/Graphics/GraphicsEngineVulkan/CMakeLists.txt b/Graphics/GraphicsEngineVulkan/CMakeLists.txt index ef839906..6480a32c 100644 --- a/Graphics/GraphicsEngineVulkan/CMakeLists.txt +++ b/Graphics/GraphicsEngineVulkan/CMakeLists.txt @@ -241,6 +241,15 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES "GNU") # Disallow missing direct and indirect dependencies to enssure that .so is self-contained LINK_FLAGS "-Wl,--no-undefined -Wl,--no-allow-shlib-undefined" ) + if(PLATFORM_WIN32) + # Restrict export to GetEngineFactoryVk + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/export.map + "{ global: *GetEngineFactoryVk*; local: *; };" + ) + set_property(TARGET Diligent-GraphicsEngineVk-shared APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,--version-script=export.map" + ) + endif() endif() if(PLATFORM_WIN32) -- cgit v1.2.3