@ -1,4 +1,7 @@
if ( MINGW OR NOT WIN32 )
set ( LIBUSB_FOUND ON CACHE BOOL "libusb is present" FORCE )
set ( LIBUSB_VERSION "1.0.24" CACHE STRING "libusb version string" FORCE )
if ( MINGW OR ( ${ CMAKE_SYSTEM_NAME } MATCHES "Linux" ) )
# G N U t o o l c h a i n s f o r s o m e r e a s o n d o e s n ' t w o r k w i t h t h e l a t e r h a l f o f t h i s C M a k e L i s t s a f t e r
# u p d a t i n g t o 1 . 0 . 2 4 , s o w e d o i t t h e o l d - f a s h i o n e d w a y f o r n o w .
@ -21,17 +24,19 @@ if (MINGW OR NOT WIN32)
set ( LIBUSB_MAKEFILE "${LIBUSB_PREFIX}/Makefile" )
if ( MINGW )
set ( LIBUSB_LIBRAR Y "${LIBUSB_PREFIX}/libusb/.libs/libusb-1.0.dll.a" )
set ( LIBUSB_LIBRAR IES "${LIBUSB_PREFIX}/libusb/.libs/libusb-1.0.dll.a" CACHE PATH "libusb library path" FORCE )
set ( LIBUSB_SHARED_LIBRARY "${LIBUSB_PREFIX}/libusb/.libs/libusb-1.0.dll" )
set ( LIBUSB_SHARED_LIBRARY_DEST "${CMAKE_BINARY_DIR}/bin/libusb-1.0.dll" )
set ( LIBUSB_CONFIGURE_ARGS --host=x86_64-w64-mingw32 --build=x86_64-windows )
else ( )
set ( LIBUSB_LIBRAR Y "${LIBUSB_PREFIX}/libusb/.libs/libusb-1.0.so" )
set ( LIBUSB_SHARED_LIBRARY "${LIBUSB_LIBRAR Y }")
set ( LIBUSB_LIBRAR IES "${LIBUSB_PREFIX}/libusb/.libs/libusb-1.0.so" CACHE PATH "libusb library path" FORCE )
set ( LIBUSB_SHARED_LIBRARY "${LIBUSB_LIBRAR IES }")
set ( LIBUSB_SHARED_LIBRARY_DEST "${CMAKE_BINARY_DIR}/bin/libusb-1.0.so" )
endif ( )
set ( LIBUSB_INCLUDE_DIRS "${LIBUSB_SRC_DIR}/libusb" CACHE PATH "libusb headers path" FORCE )
# C a u s e s " e x t e r n a l s / l i b u s b / l i b u s b / l i b u s b / o s / w i n d o w s _ w i n u s b . c : 1 4 2 7 : 2 : e r r o r : c o n v e r s i o n t o n o n - s c a l a r t y p e r e q u e s t e d " , s o c a n n o t s t a t i c a l l y l i n k i t f o r n o w .
# set ( LIBUSB_CFLAGS "-DGUID_DEVINTERFACE_USB_DEVICE=\\(GUID\\){0xA5DCBF10,0x6530,0x11D2,{0x90,0x1F,0x00,0xC0,0x4F,0xB9,0x51,0xED}}" )
@ -39,7 +44,7 @@ if (MINGW OR NOT WIN32)
add_custom_command (
O U T P U T
" $ { L I B U S B _ L I B R A R Y } "
" $ { L I B U S B _ L I B R A R IE S } "
C O M M A N D
m a k e
W O R K I N G _ D I R E C T O R Y
@ -77,13 +82,14 @@ if (MINGW OR NOT WIN32)
add_custom_target ( usb-bootstrap DEPENDS "${LIBUSB_CONFIGURE}" )
add_custom_target ( usb-configure DEPENDS "${LIBUSB_MAKEFILE}" usb-bootstrap )
add_custom_target ( usb-build ALL DEPENDS "${LIBUSB_LIBRAR Y }" usb-configure )
add_custom_target ( usb-build ALL DEPENDS "${LIBUSB_LIBRAR IES }" usb-configure )
# W o r k a r o u n d s i n c e s t a t i c l i n k i n g d i d n ' t w o r k o u t - - W e n e e d t o c o p y t h e D L L t o t h e b i n d i r e c t o r y
add_custom_target ( usb-copy ALL DEPENDS "${LIBUSB_SHARED_LIBRARY_DEST}" usb-build )
add_library ( usb INTERFACE )
add_dependencies ( usb usb-copy )
target_link_libraries ( usb INTERFACE "${LIBUSB_LIBRARY}" )
target_link_libraries ( usb INTERFACE "${LIBUSB_LIBRARIES}" )
target_include_directories ( usb INTERFACE "${LIBUSB_INCLUDE_DIRS}" )
if ( ${ CMAKE_SYSTEM_NAME } MATCHES "Linux" )
find_package ( Libudev QUIET )
@ -92,7 +98,7 @@ if (MINGW OR NOT WIN32)
target_include_directories ( usb INTERFACE "${LIBUDEV_INCLUDE_DIR}" )
endif ( )
endif ( )
else ( ) # MINGW O R N O T WIN32
else ( ) # MINGW OR ( ${ CMAKE_SYSTEM_NAME } MATCHES "Linux" )
# E n s u r e l i b u s b c o m p i l e s w i t h U T F - 8 e n c o d i n g o n MSVC
if ( MSVC )
add_compile_options ( /utf-8 )
@ -248,4 +254,4 @@ else() # MINGW OR NOT WIN32
configure_file ( config.h.in config.h )
endif ( ) # MINGW
endif ( ) # MINGW OR ( ${ CMAKE_SYSTEM_NAME } MATCHES "Linux" )