89 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			89 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
|   | diff --git a/CMakeLists.txt b/CMakeLists.txt
 | ||
|  | index 2def354..674ff2d 100644
 | ||
|  | --- a/CMakeLists.txt
 | ||
|  | +++ b/CMakeLists.txt
 | ||
|  | @@ -66,6 +66,12 @@ endif()
 | ||
|  |  ######################################################################## | ||
|  |  # Find build dependencies | ||
|  |  ######################################################################## | ||
|  | +if(MSVC)
 | ||
|  | +find_package(pthreads)
 | ||
|  | +find_package(libusb)
 | ||
|  | +include_directories(${PThreads4W_INCLUDE_DIR})
 | ||
|  | +include_directories(${LIBUSB_INCLUDE_DIRS})
 | ||
|  | +else()
 | ||
|  |  if(WIN32 AND NOT MINGW) | ||
|  |      set(THREADS_USE_PTHREADS_WIN32 true) | ||
|  |  endif() | ||
|  | @@ -79,6 +85,7 @@ endif()
 | ||
|  |  if(NOT THREADS_FOUND) | ||
|  |      message(FATAL_ERROR "pthreads(-win32) required to compile rtl-sdr") | ||
|  |  endif() | ||
|  | +endif()
 | ||
|  | 
 | ||
|  |  ######################################################################## | ||
|  |  # Create uninstall target | ||
|  | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
 | ||
|  | index 33faee7..fda4612 100644
 | ||
|  | --- a/src/CMakeLists.txt
 | ||
|  | +++ b/src/CMakeLists.txt
 | ||
|  | @@ -20,7 +20,11 @@
 | ||
|  |  ######################################################################## | ||
|  |  add_library(rtlsdr SHARED librtlsdr.c | ||
|  |    tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c) | ||
|  | +if(MSVC)
 | ||
|  | +target_link_libraries(rtlsdr ${LIBUSB_LIBRARIES})
 | ||
|  | +else()
 | ||
|  |  target_link_libraries(rtlsdr PkgConfig::LIBUSB) | ||
|  | +endif()
 | ||
|  |  target_include_directories(rtlsdr PUBLIC | ||
|  |    $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include> | ||
|  |    $<INSTALL_INTERFACE:include>  # <prefix>/include | ||
|  | @@ -36,7 +40,11 @@ generate_export_header(rtlsdr)
 | ||
|  |  ######################################################################## | ||
|  |  add_library(rtlsdr_static STATIC librtlsdr.c | ||
|  |    tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c) | ||
|  | +if(MSVC)
 | ||
|  | +target_link_libraries(rtlsdr_static ${LIBUSB_LIBRARIES})
 | ||
|  | +else()
 | ||
|  |  target_link_libraries(rtlsdr_static PkgConfig::LIBUSB) | ||
|  | +endif()
 | ||
|  |  target_include_directories(rtlsdr_static PUBLIC | ||
|  |    $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include> | ||
|  |    $<INSTALL_INTERFACE:include>  # <prefix>/include | ||
|  | @@ -58,8 +66,8 @@ IF(MSVC)
 | ||
|  |          ${CMAKE_CURRENT_SOURCE_DIR}/rtlsdr.rc.in | ||
|  |          ${CMAKE_CURRENT_BINARY_DIR}/rtlsdr.rc | ||
|  |      @ONLY) | ||
|  | -  target_sources(rtlsdr ${CMAKE_CURRENT_BINARY_DIR}/rtlsdr.rc)
 | ||
|  | -  target_sources(rtlsdr_static ${CMAKE_CURRENT_BINARY_DIR}/rtlsdr.rc)
 | ||
|  | +  target_sources(rtlsdr PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/rtlsdr.rc)
 | ||
|  | +  target_sources(rtlsdr_static PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/rtlsdr.rc)
 | ||
|  |  ENDIF(MSVC) | ||
|  | 
 | ||
|  |  ######################################################################## | ||
|  | @@ -77,6 +85,11 @@ add_library(libgetopt_static STATIC
 | ||
|  |  target_link_libraries(convenience_static | ||
|  |      rtlsdr | ||
|  |  ) | ||
|  | +if(MSVC)
 | ||
|  | +target_link_libraries(convenience_static
 | ||
|  | +    ${PThreads4W_LIBRARY}
 | ||
|  | +)
 | ||
|  | +endif()
 | ||
|  |  endif() | ||
|  | 
 | ||
|  |  ######################################################################## | ||
|  | diff --git a/src/rtl_tcp.c b/src/rtl_tcp.c
 | ||
|  | index 562198f..b4bfa51 100644
 | ||
|  | --- a/src/rtl_tcp.c
 | ||
|  | +++ b/src/rtl_tcp.c
 | ||
|  | @@ -35,6 +35,7 @@
 | ||
|  |  #include <fcntl.h> | ||
|  |  #else | ||
|  |  #include <winsock2.h> | ||
|  | +#include <ws2tcpip.h>
 | ||
|  |  #include "getopt/getopt.h" | ||
|  |  #endif | ||
|  | 
 |