CMakeLists.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. cmake_minimum_required(VERSION 2.6)
  2. PROJECT(ubox C)
  3. ADD_DEFINITIONS(-Os -ggdb -Wall -Werror --std=gnu99 -Wmissing-declarations)
  4. SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
  5. IF(APPLE)
  6. INCLUDE_DIRECTORIES(/opt/local/include)
  7. LINK_DIRECTORIES(/opt/local/lib)
  8. ENDIF()
  9. find_library(json NAMES json-c json)
  10. IF(DEBUG)
  11. ADD_DEFINITIONS(-DDEBUG -g3)
  12. ENDIF()
  13. INCLUDE (CheckSymbolExists)
  14. CHECK_SYMBOL_EXISTS(SYS_getrandom syscall.h getrandom)
  15. IF(getrandom)
  16. ADD_EXECUTABLE(getrandom getrandom.c)
  17. INSTALL(TARGETS getrandom
  18. RUNTIME DESTINATION bin
  19. )
  20. ELSE()
  21. message( FATAL_ERROR "Kernel too old, missing SYS_getrandom system call")
  22. ENDIF()
  23. ADD_EXECUTABLE(kmodloader kmodloader.c)
  24. TARGET_LINK_LIBRARIES(kmodloader ubox)
  25. INSTALL(TARGETS kmodloader
  26. RUNTIME DESTINATION sbin
  27. )
  28. ADD_EXECUTABLE(lsbloader lsbloader.c)
  29. TARGET_LINK_LIBRARIES(lsbloader ubox ubus)
  30. INSTALL(TARGETS lsbloader
  31. RUNTIME DESTINATION sbin
  32. )
  33. ADD_LIBRARY(validate SHARED validate/validate.c)
  34. INSTALL(TARGETS validate
  35. LIBRARY DESTINATION lib
  36. )
  37. FIND_PATH(uci_include_dir uci.h)
  38. INCLUDE_DIRECTORIES(${uci_include_dir})
  39. ADD_EXECUTABLE(validate_data validate/cli.c)
  40. TARGET_LINK_LIBRARIES(validate_data ubox uci validate)
  41. INSTALL(TARGETS validate_data
  42. RUNTIME DESTINATION sbin
  43. )
  44. ADD_EXECUTABLE(logd log/logd.c log/syslog.c)
  45. TARGET_LINK_LIBRARIES(logd ubox ubus udebug)
  46. INSTALL(TARGETS logd
  47. RUNTIME DESTINATION sbin
  48. )
  49. ADD_EXECUTABLE(logread log/logread.c)
  50. TARGET_LINK_LIBRARIES(logread ubox ubus ${json} blobmsg_json)
  51. INSTALL(TARGETS logread
  52. RUNTIME DESTINATION sbin
  53. )