Quellcode durchsuchen

disable dylib by default

blueloveTH vor 2 Jahren
Ursprung
Commit
dc692a3835
2 geänderte Dateien mit 20 neuen und 7 gelöschten Zeilen
  1. 2 1
      CMakeLists.txt
  2. 18 6
      include/pocketpy/export.h

+ 2 - 1
CMakeLists.txt

@@ -32,6 +32,7 @@ include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
 aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src POCKETPY_SRC)
 
 option(PK_USE_BOX2D "Use Box2D" OFF)
+option(PK_USE_DYLIB "Use dylib" OFF)
 
 if(PK_USE_BOX2D)
     add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/3rd/box2d)
@@ -65,7 +66,7 @@ else()
     target_link_libraries(${PROJECT_EXE_NAME} ${CMAKE_DL_LIBS})
 endif()
 
-if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Emscripten")
+if(PK_USE_DYLIB)
     target_link_libraries(${PROJECT_NAME} ${CMAKE_DL_LIBS})
 endif()
 

+ 18 - 6
include/pocketpy/export.h

@@ -102,20 +102,32 @@ typedef struct tagBITMAPINFOHEADER {
         #define PK_SUPPORT_DYLIB    4
     #elif TARGET_OS_MAC
         #define PK_SYS_PLATFORM     "darwin"
-        #include <dlfcn.h>
-        #define PK_SUPPORT_DYLIB    2
+        #ifdef PK_USE_DYLIB
+            #include <dlfcn.h>
+            #define PK_SUPPORT_DYLIB    2
+        #else
+            #define PK_SUPPORT_DYLIB    0
+        #endif
     #else
     #   error "Unknown Apple platform"
     #endif
     #define PK_EXPORT __attribute__((visibility("default")))
 #elif __ANDROID__
-    #include <dlfcn.h>
-    #define PK_SUPPORT_DYLIB    3
+    #ifdef PK_USE_DYLIB
+        #include <dlfcn.h>
+        #define PK_SUPPORT_DYLIB    3
+    #else
+        #define PK_SUPPORT_DYLIB    0
+    #endif
     #define PK_EXPORT __attribute__((visibility("default")))
     #define PK_SYS_PLATFORM     "android"
 #elif __linux__
-    #include <dlfcn.h>
-    #define PK_SUPPORT_DYLIB    2
+    #ifdef PK_USE_DYLIB
+        #include <dlfcn.h>
+        #define PK_SUPPORT_DYLIB    2
+    #else
+        #define PK_SUPPORT_DYLIB    0
+    #endif
     #define PK_EXPORT __attribute__((visibility("default")))
     #define PK_SYS_PLATFORM     "linux"
 #else