diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1e5e6cb34a71c32dcacd27b92499b276b7516e94..edec50eef9d5196fd53243d3a988c51093183a41 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -348,25 +348,10 @@ add_library (opendht
     ${obj_libs}
 )
 set_target_properties (opendht PROPERTIES OUTPUT_NAME "opendht")
-target_link_libraries(opendht
-    PRIVATE
-        PkgConfig::argon2
-        PkgConfig::Nettle
-        ${HTTP_PARSER_LIBRARY}
-    PUBLIC
-        ${CMAKE_THREAD_LIBS_INIT}
-        PkgConfig::GnuTLS
-        ${FMT_LIBRARY}
-)
+
 if (NOT HAVE_MSGPACKCXX)
     target_link_libraries(opendht PUBLIC ${MSGPACK_TARGET})
 endif()
-if (Jsoncpp_FOUND)
-    target_link_libraries(opendht PUBLIC PkgConfig::Jsoncpp)
-endif()
-if (OPENDHT_PROXY_OPENSSL)
-    target_link_libraries(opendht PUBLIC PkgConfig::OPENSSL)
-endif()
 if (APPLE)
     target_link_libraries(opendht PRIVATE SYSTEM "-framework CoreFoundation" "-framework Security")
 endif()
@@ -375,7 +360,24 @@ if (MSVC)
         target_link_libraries(opendht PUBLIC ${Win32_STATIC_LIBRARIES} ${Win32_IMPORT_LIBRARIES})
         set_target_properties (opendht PROPERTIES OUTPUT_NAME "libopendht")
     endif()
-endif ()
+else()
+    target_link_libraries(opendht
+        PRIVATE
+            PkgConfig::argon2
+            PkgConfig::Nettle
+            ${HTTP_PARSER_LIBRARY}
+        PUBLIC
+            ${CMAKE_THREAD_LIBS_INIT}
+            PkgConfig::GnuTLS
+            ${FMT_LIBRARY}
+    )
+    if (Jsoncpp_FOUND)
+        target_link_libraries(opendht PUBLIC PkgConfig::Jsoncpp)
+    endif()
+    if (OPENDHT_PROXY_OPENSSL)
+        target_link_libraries(opendht PUBLIC PkgConfig::OPENSSL)
+    endif()
+endif()
 
 if (BUILD_SHARED_LIBS)
     set_target_properties (opendht PROPERTIES IMPORT_SUFFIX "_import.lib")