CMakeLists.txt 726 B

123456789101112131415161718192021222324252627282930
  1. cmake_minimum_required(VERSION 2.6)
  2. PROJECT(usbmode C)
  3. ADD_DEFINITIONS(-Os -ggdb -Wall -Werror --std=gnu99 -Wmissing-declarations)
  4. FIND_PATH(ubox_include_dir libubox/blobmsg_json.h)
  5. INCLUDE_DIRECTORIES(${ubox_include_dir})
  6. SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
  7. SET(SOURCES main.c switch.c)
  8. find_package(PkgConfig)
  9. pkg_check_modules(LIBUSB1 REQUIRED libusb-1.0)
  10. ADD_DEFINITIONS(${LIBUSB1_CFLAGS})
  11. FIND_LIBRARY(libusb NAMES usb-1.0 HINTS ${LIBUSB1_LIBDIR})
  12. FIND_LIBRARY(json NAMES json-c json)
  13. SET(LIBS ubox blobmsg_json ${libusb} ${json})
  14. IF(DEBUG)
  15. ADD_DEFINITIONS(-DDEBUG -g3)
  16. ENDIF()
  17. ADD_EXECUTABLE(usbmode ${SOURCES})
  18. TARGET_LINK_LIBRARIES(usbmode ${LIBS})
  19. INSTALL(TARGETS usbmode
  20. RUNTIME DESTINATION sbin
  21. )