summaryrefslogtreecommitdiffstats
path: root/daemon/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/CMakeLists.txt')
-rw-r--r--daemon/CMakeLists.txt32
1 files changed, 32 insertions, 0 deletions
diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt
new file mode 100644
index 0000000..45565d1
--- /dev/null
+++ b/daemon/CMakeLists.txt
@@ -0,0 +1,32 @@
+find_package(USB REQUIRED)
+include_directories(${USB_INCLUDE_DIRS})
+set(LIBS ${LIBS} ${USB_LIBRARIES})
+
+include_directories (${CMAKE_SOURCE_DIR}/common)
+include_directories (${CMAKE_SOURCE_DIR}/daemon)
+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)