summaryrefslogtreecommitdiffstats
path: root/daemon/CMakeLists.txt
blob: e5f9b11e6158b9d5873b2c880de052616fea053c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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 -DUSBMUXD_VERSION="${USBMUXD_VERSION}")
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)