From add6b02b79c3ba502bed7dc1d4998a4869cfdafc Mon Sep 17 00:00:00 2001 From: Koncord Date: Tue, 15 Jan 2019 18:41:18 +0800 Subject: [PATCH] [Server] Do not export all symbols --- apps/openmw-mp/CMakeLists.txt | 2 +- apps/openmw-mp/Script/Platform.hpp | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/openmw-mp/CMakeLists.txt b/apps/openmw-mp/CMakeLists.txt index 30762ac9e..abd1c6315 100644 --- a/apps/openmw-mp/CMakeLists.txt +++ b/apps/openmw-mp/CMakeLists.txt @@ -185,7 +185,7 @@ if (UNIX) target_link_libraries(tes3mp-server dl) # Fix for not visible pthreads functions for linker with glibc 2.15 if(NOT APPLE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -rdynamic") # TODO: use -Wl,--dynamic-list=list.txt instead + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--exclude-libs,ALL -rdynamic -fvisibility=hidden") target_link_libraries(tes3mp-server ${CMAKE_THREAD_LIBS_INIT}) endif(NOT APPLE) endif(UNIX) diff --git a/apps/openmw-mp/Script/Platform.hpp b/apps/openmw-mp/Script/Platform.hpp index a56447986..8fe7a6d6a 100644 --- a/apps/openmw-mp/Script/Platform.hpp +++ b/apps/openmw-mp/Script/Platform.hpp @@ -17,4 +17,12 @@ #endif #endif +#ifdef _WIN32 +#define EXPORT_APIFUNCTION extern "C" __declspec(dllexport) +#define CDECL __cdecl +#else +#define EXPORT_APIFUNCTION extern "C" __attribute__ ((visibility ("default"))) +#define CDECL +#endif + #endif //PLATFORM_HPP