summaryrefslogtreecommitdiffstats
path: root/usbmuxd/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'usbmuxd/CMakeLists.txt')
-rw-r--r--usbmuxd/CMakeLists.txt21
1 files changed, 20 insertions, 1 deletions
diff --git a/usbmuxd/CMakeLists.txt b/usbmuxd/CMakeLists.txt
index 7d0d3d8..f95727c 100644
--- a/usbmuxd/CMakeLists.txt
+++ b/usbmuxd/CMakeLists.txt
@@ -6,8 +6,27 @@ include_directories (${CMAKE_SOURCE_DIR}/common)
include_directories (${CMAKE_SOURCE_DIR}/usbmuxd)
include_directories (${CMAKE_SOURCE_DIR}/libusbmuxd)
+include(CheckConstantExists)
+set(CMAKE_REQUIRED_INCLUDES ${USB_INCLUDE_DIRS})
+check_constant_exists(LIBUSB_TRANSFER_ZERO_PACKET libusb.h HAVE_LIBUSB_ZLP)
+
+if(NOT HAVE_LIBUSB_ZLP)
+ message("
+================================================================================
+==================================== WARNING ===================================
+================================================================================
+Your libusb is missing proper Zero Length Packet support! If you are using a
+recent libusb Git, things may or may not work. If you are using libusb 1.0.2 or
+earlier, things will definitely not work properly.
+
+Please apply the patch in the contrib/ directory to your libusb 1.0 tree.
+================================================================================
+")
+ add_definitions(-DEXPLICIT_ZLP_TRANSACTION)
+endif(NOT HAVE_LIBUSB_ZLP)
+
add_definitions(-Wall -O2 -g -DUSBMUXD_DAEMON)
add_executable(usbmuxd main.c usb-linux.c log.c ../common/utils.c device.c client.c)
target_link_libraries(usbmuxd ${LIBS})
-install(TARGETS usbmuxd RUNTIME DESTINATION sbin) \ No newline at end of file
+install(TARGETS usbmuxd RUNTIME DESTINATION sbin)