MINGW-packages/mingw-w64-vrpn/0002-fix-shared-build.patch
2024-02-29 11:23:26 +05:30

79 lines
3.0 KiB
Diff

diff -bur vrpn-07.35-orig/CMakeLists.txt vrpn-07.35/CMakeLists.txt
--- vrpn-07.35-orig/CMakeLists.txt 2024-02-28 22:14:55.826965700 -0700
+++ vrpn-07.35/CMakeLists.txt 2024-02-28 22:16:44.742742700 -0700
@@ -1284,9 +1284,12 @@
set(VRPN_CLIENT_LIBRARY)
if(VRPN_BUILD_SERVER_LIBRARY)
- add_library(vrpnserver
- ${VRPN_SERVER_SOURCES}
- ${VRPN_SERVER_PUBLIC_HEADERS})
+ if(VRPN_USE_SHARED_LIBRARY)
+ add_library(vrpnserver SHARED ${VRPN_SERVER_SOURCES} ${VRPN_SERVER_PUBLIC_HEADERS})
+ set_target_properties(vrpnserver PROPERTIES COMPILE_DEFINITIONS VRPNDLL_EXPORTS=1)
+ else()
+ add_library(vrpnserver STATIC ${VRPN_SERVER_SOURCES} ${VRPN_SERVER_PUBLIC_HEADERS})
+ endif()
target_link_libraries(vrpnserver ${EXTRA_LIBS} ${SERVER_EXTRA_LIBS})
set(VRPN_CLIENT_LIBRARY vrpnserver)
set(VRPN_SERVER_LIBRARY vrpnserver)
@@ -1337,7 +1340,12 @@
if(VRPN_BUILD_CLIENT_LIBRARY)
- add_library(vrpn ${VRPN_CLIENT_SOURCES} ${VRPN_CLIENT_PUBLIC_HEADERS})
+ if(VRPN_USE_SHARED_LIBRARY)
+ add_library(vrpn SHARED ${VRPN_CLIENT_SOURCES} ${VRPN_CLIENT_PUBLIC_HEADERS})
+ set_target_properties(vrpn PROPERTIES COMPILE_DEFINITIONS VRPNDLL_EXPORTS=1)
+ else()
+ add_library(vrpn STATIC ${VRPN_CLIENT_SOURCES} ${VRPN_CLIENT_PUBLIC_HEADERS})
+ endif()
target_link_libraries(vrpn ${EXTRA_LIBS})
set(VRPN_CLIENT_LIBRARY vrpn)
@@ -1355,7 +1363,7 @@
# Always compile code the client library with VRPN_CLIENT_ONLY defined.
set_property(TARGET
vrpn
- PROPERTY
+ APPEND PROPERTY
COMPILE_DEFINITIONS
"VRPN_CLIENT_ONLY")
diff -bur vrpn-07.35-orig/server_src/vrpn_Generic_server_object.h vrpn-07.35/server_src/vrpn_Generic_server_object.h
--- vrpn-07.35-orig/server_src/vrpn_Generic_server_object.h 2024-02-28 22:14:55.800273500 -0700
+++ vrpn-07.35/server_src/vrpn_Generic_server_object.h 2024-02-28 22:18:05.367469200 -0700
@@ -15,7 +15,7 @@
class VRPN_API vrpn_IMU_Axis_Params;
class VRPN_API vrpn_PA_axis;
-class vrpn_Generic_Server_Object {
+class VRPN_API vrpn_Generic_Server_Object {
public:
vrpn_Generic_Server_Object(vrpn_Connection *connection_to_use,
const char *config_file_name = "vrpn.cfg",
diff -bur vrpn-07.35-orig/vrpn_Shared.h vrpn-07.35/vrpn_Shared.h
--- vrpn-07.35-orig/vrpn_Shared.h 2024-02-28 22:14:55.842649500 -0700
+++ vrpn-07.35/vrpn_Shared.h 2024-02-28 22:19:48.984720100 -0700
@@ -499,7 +499,7 @@
}
// Returns true if tests work and false if they do not.
-extern bool vrpn_test_pack_unpack(void);
+VRPN_API bool vrpn_test_pack_unpack(void);
/// Null-terminated-string copy function that both guarantees not to overrun
/// the buffer and guarantees that the last character copied is a NULL terminator
diff -bur vrpn-07.35-orig/vrpn_Thread.h vrpn-07.35/vrpn_Thread.h
--- vrpn-07.35-orig/vrpn_Thread.h 2024-02-28 22:14:55.842649500 -0700
+++ vrpn-07.35/vrpn_Thread.h 2024-02-28 22:19:44.087038900 -0700
@@ -237,7 +237,7 @@
};
// Returns true if they work and false if they do not.
-extern bool vrpn_test_threads_and_semaphores(void);
+VRPN_API bool vrpn_test_threads_and_semaphores(void);