windows.patch 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. diff --git a/CMakeLists.txt b/CMakeLists.txt
  2. index fbaffc9..4e0c343 100644
  3. --- a/CMakeLists.txt
  4. +++ b/CMakeLists.txt
  5. @@ -39,11 +39,13 @@ set(SOURCES
  6. src/misc.c
  7. )
  8. -find_package(LibUSB)
  9. +find_package(PkgConfig REQUIRED)
  10. +pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb)
  11. +pkg_check_modules(pthreads4w REQUIRED IMPORTED_TARGET pthreads4w)
  12. # JpegPkg name to differ from shipped with CMake
  13. -find_package(JpegPkg QUIET)
  14. -if(JPEG_FOUND)
  15. +pkg_check_modules(libjpeg REQUIRED IMPORTED_TARGET libjpeg)
  16. +if(libjpeg_FOUND)
  17. message(STATUS "Building libuvc with JPEG support.")
  18. set(LIBUVC_HAS_JPEG TRUE)
  19. list(APPEND SOURCES src/frame-mjpeg.c)
  20. @@ -70,6 +72,7 @@ else()
  21. endif()
  22. if(BUILD_UVC_SHARED)
  23. + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
  24. add_library(uvc SHARED ${SOURCES})
  25. set_target_properties(uvc PROPERTIES
  26. VERSION ${libuvc_VERSION}
  27. @@ -116,11 +119,12 @@ foreach(target_name IN LISTS UVC_TARGETS)
  28. )
  29. target_link_libraries(${target_name}
  30. # libusb-1.0 used internally so we link to it privately.
  31. - PRIVATE LibUSB::LibUSB ${threads}
  32. + PRIVATE PkgConfig::libusb
  33. + PRIVATE PkgConfig::pthreads4w
  34. )
  35. - if(JPEG_FOUND)
  36. + if(libjpeg_FOUND)
  37. target_link_libraries(${target_name}
  38. - PRIVATE JPEG::JPEG
  39. + PRIVATE PkgConfig::libjpeg
  40. )
  41. endif()
  42. set_target_properties(${target_name} PROPERTIES
  43. @@ -191,12 +195,6 @@ install(EXPORT libuvcTargets
  44. DESTINATION ${CMAKE_INSTALL_CMAKEDIR}
  45. )
  46. -install(FILES
  47. - cmake/FindLibUSB.cmake
  48. - cmake/FindJpegPkg.cmake
  49. - DESTINATION ${CMAKE_INSTALL_CMAKEDIR}
  50. -)
  51. -
  52. include(CMakePackageConfigHelpers)
  53. write_basic_package_version_file(libuvcConfigVersion.cmake
  54. COMPATIBILITY AnyNewerVersion
  55. @@ -207,7 +205,7 @@ install(FILES
  56. DESTINATION ${CMAKE_INSTALL_CMAKEDIR}
  57. )
  58. -if(JPEG_FOUND)
  59. +if(libjpeg_FOUND)
  60. # If we have used JPEG library we need to
  61. # add linker flag for it in config file for pkgconfig
  62. set(PKGCONFIG_JPEG_LDFLAG "-ljpeg")
  63. diff --git a/include/libuvc/libuvc.h b/include/libuvc/libuvc.h
  64. index d387150..6ed6d50 100644
  65. --- a/include/libuvc/libuvc.h
  66. +++ b/include/libuvc/libuvc.h
  67. @@ -7,7 +7,8 @@ extern "C" {
  68. #include <stdio.h> // FILE
  69. #include <stdint.h>
  70. -#include <sys/time.h>
  71. +#include <time.h>
  72. +#include <winsock.h>
  73. #include <libuvc/libuvc_config.h>
  74. struct libusb_context;
  75. diff --git a/src/stream.c b/src/stream.c
  76. index 89dac69..d5ae5e4 100644
  77. --- a/src/stream.c
  78. +++ b/src/stream.c
  79. @@ -659,7 +659,7 @@ void _uvc_swap_buffers(uvc_stream_handle_t *strmh) {
  80. pthread_mutex_lock(&strmh->cb_mutex);
  81. - (void)clock_gettime(CLOCK_MONOTONIC, &strmh->capture_time_finished);
  82. + timespec_get(&strmh->capture_time_finished, TIME_UTC);
  83. /* swap the buffers */
  84. tmp_buf = strmh->holdbuf;