Explorar o código

disable dllexport from static builds.

Closes https://github.com/icculus/physfs/pull/15 .
Ozkan Sezer %!s(int64=3) %!d(string=hai) anos
pai
achega
14691399cd
Modificáronse 2 ficheiros con 6 adicións e 0 borrados
  1. 4 0
      CMakeLists.txt
  2. 2 0
      src/physfs.h

+ 4 - 0
CMakeLists.txt

@@ -166,6 +166,10 @@ if(PHYSFS_BUILD_STATIC)
 		set_target_properties(physfs-static PROPERTIES VS_WINRT_COMPONENT True)
         set_target_properties(physfs-static PROPERTIES STATIC_LIBRARY_FLAGS "/ignore:4264")
     endif()
+    if(WIN32 OR WINRT OR OS2)
+        # no dll exports from the static library
+        target_compile_definitions(physfs-static PRIVATE "PHYSFS_STATIC")
+    endif()
 
     set(PHYSFS_LIB_TARGET physfs-static)
     set(PHYSFS_INSTALL_TARGETS ${PHYSFS_INSTALL_TARGETS} ";physfs-static")

+ 2 - 0
src/physfs.h

@@ -225,6 +225,8 @@ extern "C" {
 
 #if defined(PHYSFS_DECL)
 /* do nothing. */
+#elif defined(PHYSFS_STATIC)
+#define PHYSFS_DECL   /**/
 #elif defined(_WIN32) || defined(__OS2__)
 #define PHYSFS_DECL __declspec(dllexport)
 #elif defined(__SUNPRO_C)