From f53b2f887845fdcc781f8573b9871458e577d365 Mon Sep 17 00:00:00 2001 From: CryptoManiac Date: Tue, 4 Jan 2022 23:13:38 +0300 Subject: [PATCH] Export symbols into .def files on MSVC (#339) Fix #335 --- CMakeLists.txt | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 72e5ac45..8d8b89d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -148,10 +148,29 @@ if (USE_TLS) endif() endif() -add_library( ixwebsocket - ${IXWEBSOCKET_SOURCES} - ${IXWEBSOCKET_HEADERS} -) +if(BUILD_SHARED_LIBS) + # Building shared library + + if(MSVC) + # Workaround for some projects + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + endif() + + add_library( ixwebsocket SHARED + ${IXWEBSOCKET_SOURCES} + ${IXWEBSOCKET_HEADERS} + ) + + # Set library version + set_target_properties(ixwebsocket PROPERTIES VERSION 11.3.2) + +else() + # Static library + add_library( ixwebsocket + ${IXWEBSOCKET_SOURCES} + ${IXWEBSOCKET_HEADERS} + ) +endif() if (USE_TLS) target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_TLS)