diff --git a/deps_src/CMakeLists.txt b/deps_src/CMakeLists.txt index 5c553835ad..a4d71c6f27 100644 --- a/deps_src/CMakeLists.txt +++ b/deps_src/CMakeLists.txt @@ -27,6 +27,7 @@ add_subdirectory(libigl) add_subdirectory(libnest2d) add_subdirectory(mcut) add_subdirectory(md4c) +add_subdirectory(mdns) add_subdirectory(miniz) add_subdirectory(minilzo) add_subdirectory(qhull) diff --git a/deps_src/mdns/CMakeLists.txt b/deps_src/mdns/CMakeLists.txt new file mode 100644 index 0000000000..60960d44e1 --- /dev/null +++ b/deps_src/mdns/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.13) + +project(mdns) + +# Static library wrapping mjansson/mdns (public domain) plus the cxmdns C++ +# wrapper from CrealityPrint v7.1.1 (AGPL-3.0). See NOTICE.md for attribution. +add_library(mdns STATIC + mdns.h + mdns.c + cxmdns.h + cxmdns.cpp +) + +target_include_directories(mdns SYSTEM PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +if (MSVC) + # mjansson/mdns uses GetAdaptersAddresses (Iphlpapi) and Winsock2 (Ws2_32). + target_link_libraries(mdns PUBLIC Iphlpapi Ws2_32) +endif() diff --git a/src/slic3r/Utils/mdns/NOTICE.md b/deps_src/mdns/NOTICE.md similarity index 100% rename from src/slic3r/Utils/mdns/NOTICE.md rename to deps_src/mdns/NOTICE.md diff --git a/src/slic3r/Utils/mdns/cxmdns.cpp b/deps_src/mdns/cxmdns.cpp similarity index 100% rename from src/slic3r/Utils/mdns/cxmdns.cpp rename to deps_src/mdns/cxmdns.cpp diff --git a/src/slic3r/Utils/mdns/cxmdns.h b/deps_src/mdns/cxmdns.h similarity index 100% rename from src/slic3r/Utils/mdns/cxmdns.h rename to deps_src/mdns/cxmdns.h diff --git a/src/slic3r/Utils/mdns/mdns.c b/deps_src/mdns/mdns.c similarity index 100% rename from src/slic3r/Utils/mdns/mdns.c rename to deps_src/mdns/mdns.c diff --git a/src/slic3r/Utils/mdns/mdns.h b/deps_src/mdns/mdns.h similarity index 100% rename from src/slic3r/Utils/mdns/mdns.h rename to deps_src/mdns/mdns.h diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt index 8d886f090c..be9a8e6d3b 100644 --- a/src/slic3r/CMakeLists.txt +++ b/src/slic3r/CMakeLists.txt @@ -669,10 +669,6 @@ set(SLIC3R_GUI_SOURCES Utils/WxFontUtils.hpp Utils/FileTransferUtils.cpp Utils/FileTransferUtils.hpp - Utils/mdns/mdns.h - Utils/mdns/mdns.c - Utils/mdns/cxmdns.h - Utils/mdns/cxmdns.cpp ) add_subdirectory(GUI/DeviceCore) @@ -762,13 +758,11 @@ else() set(_opengl_link_lib OpenGL::GL) endif() -target_link_libraries(libslic3r_gui libslic3r cereal::cereal imgui imguizmo minilzo libvgcode md4c-html glad ${_opengl_link_lib} hidapi ${wxWidgets_LIBRARIES} glfw libcurl OpenSSL::SSL OpenSSL::Crypto noise::noise) +target_link_libraries(libslic3r_gui libslic3r cereal::cereal imgui imguizmo minilzo libvgcode md4c-html glad ${_opengl_link_lib} hidapi mdns ${wxWidgets_LIBRARIES} glfw libcurl OpenSSL::SSL OpenSSL::Crypto noise::noise) if (MSVC) - # Iphlpapi/Ws2_32 are required by the vendored mjansson/mdns library - # (GetAdaptersAddresses + Winsock2) used by CrealityHostDiscovery. - target_link_libraries(libslic3r_gui Setupapi.lib Iphlpapi.lib Ws2_32.lib) + target_link_libraries(libslic3r_gui Setupapi.lib) elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux") FIND_LIBRARY(WAYLAND_SERVER_LIBRARIES NAMES wayland-server) FIND_LIBRARY(WAYLAND_EGL_LIBRARIES NAMES wayland-egl) diff --git a/src/slic3r/Utils/CrealityHostDiscovery.cpp b/src/slic3r/Utils/CrealityHostDiscovery.cpp index bab570c116..8fcf16749d 100644 --- a/src/slic3r/Utils/CrealityHostDiscovery.cpp +++ b/src/slic3r/Utils/CrealityHostDiscovery.cpp @@ -1,5 +1,5 @@ #include "CrealityHostDiscovery.hpp" -#include "mdns/cxmdns.h" +#include "cxmdns.h" #include "Http.hpp" #include