--- vrpn-07.34/CMakeLists.txt.orig 2018-08-08 21:24:13.993245200 +0300 +++ vrpn-07.34/CMakeLists.txt 2018-08-08 21:28:26.415682900 +0300 @@ -1276,9 +1276,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) @@ -1329,7 +1329,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 +1355,7 @@ if(NOT VRPN_CLIENT_ONLY) set_property(TARGET vrpn - PROPERTY + APPEND PROPERTY COMPILE_DEFINITIONS "VRPN_CLIENT_ONLY") endif() --- vrpn-07.34/server_src/vrpn_Generic_server_object.h.orig 2018-08-08 22:17:32.507189700 +0300 +++ vrpn-07.34/server_src/vrpn_Generic_server_object.h 2018-08-08 22:17:41.111681900 +0300 @@ -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", --- vrpn-07.34/vrpn_Shared.h.orig 2018-08-08 22:19:46.728866800 +0300 +++ vrpn-07.34/vrpn_Shared.h 2018-08-08 22:20:14.867476200 +0300 @@ -499,5 +499,5 @@ } // 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); --- vrpn-07.34/vrpn_Thread.h.orig 2018-08-08 22:14:22.346313100 +0300 +++ vrpn-07.34/vrpn_Thread.h 2018-08-08 22:14:31.190819000 +0300 @@ -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);