Index: src/CMakeLists.txt
--- src/CMakeLists.txt.orig
+++ src/CMakeLists.txt
@@ -33,8 +33,13 @@ endif ()
 
 if (SLIC3R_GUI)
     add_subdirectory(imgui)
-    add_subdirectory(hidapi)
-    include_directories(hidapi/include)
+    if (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
+        pkg_check_modules(HIDAPI REQUIRED hidapi-libusb)
+        include_directories(${HIDAPI_INCLUDE_DIRS})
+    else ()
+        add_subdirectory(hidapi)
+        include_directories(hidapi/include)
+    endif ()
 
     if(WIN32)
         message(STATUS "WXWIN environment set to: $ENV{WXWIN}")
@@ -85,7 +90,7 @@ if (SLIC3R_GUI)
     string(REGEX MATCH "wxexpat" WX_EXPAT_BUILTIN ${wxWidgets_LIBRARIES})
     if (EXPAT_FOUND AND NOT WX_EXPAT_BUILTIN)
         list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX expat)
-        list(APPEND wxWidgets_LIBRARIES libexpat)
+        list(APPEND wxWidgets_LIBRARIES ${EXPAT_LIBRARIES})
     endif ()
     
     # This is an issue in the new wxWidgets cmake build, doesn't deal with librt
@@ -100,7 +105,7 @@ if (SLIC3R_GUI)
     list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX OpenGL)
     
     if (UNIX AND NOT APPLE)
-        list(APPEND wxWidgets_LIBRARIES X11 wayland-client wayland-egl EGL)
+        list(APPEND wxWidgets_LIBRARIES X11 EGL)
     endif ()
 #    list(REMOVE_ITEM wxWidgets_LIBRARIES oleacc)
     message(STATUS "wx libs: ${wxWidgets_LIBRARIES}")
@@ -131,7 +136,7 @@ if (NOT WIN32 AND NOT APPLE)
     set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer")
 endif ()
 
-target_link_libraries(PrusaSlicer libslic3r libcereal)
+target_link_libraries(PrusaSlicer libslic3r)
 
 if (APPLE)
 #    add_compile_options(-stdlib=libc++)
@@ -158,6 +163,8 @@ target_link_libraries(PrusaSlicer libslic3r_gui)
         target_link_libraries(PrusaSlicer ws2_32 uxtheme setupapi)
     elseif (APPLE)
         target_link_libraries(PrusaSlicer "-framework OpenGL")
+    elseif (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
+        # no-op
     else ()
         target_link_libraries(PrusaSlicer -ldl)
     endif ()
