CMakeLists.txt 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. cmake_minimum_required(VERSION 2.6)
  2. PROJECT(procd 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. SET(SOURCES procd.c signal.c watchdog.c state.c inittab.c rcS.c ubus.c system.c
  10. service/service.c service/instance.c service/validate.c service/trigger.c service/watch.c
  11. plug/coldplug.c plug/hotplug.c utils/utils.c)
  12. SET(LIBS ubox ubus json-c blobmsg_json json_script)
  13. IF(DEBUG)
  14. ADD_DEFINITIONS(-DDEBUG -g3)
  15. ENDIF()
  16. IF(ZRAM_TMPFS)
  17. ADD_DEFINITIONS(-DZRAM_TMPFS)
  18. SET(SOURCES_ZRAM initd/zram.c)
  19. ENDIF()
  20. IF(BUILD_UPGRADED)
  21. add_subdirectory(upgraded)
  22. ENDIF()
  23. ADD_EXECUTABLE(procd ${SOURCES})
  24. TARGET_LINK_LIBRARIES(procd ${LIBS})
  25. INSTALL(TARGETS procd
  26. RUNTIME DESTINATION sbin
  27. )
  28. ADD_EXECUTABLE(init initd/init.c initd/early.c initd/preinit.c initd/mkdev.c watchdog.c
  29. utils/utils.c ${SOURCES_ZRAM})
  30. TARGET_LINK_LIBRARIES(init ${LIBS})
  31. INSTALL(TARGETS init
  32. RUNTIME DESTINATION sbin
  33. )
  34. ADD_EXECUTABLE(udevtrigger plug/udevtrigger.c)
  35. INSTALL(TARGETS udevtrigger
  36. RUNTIME DESTINATION sbin
  37. )
  38. ADD_EXECUTABLE(askfirst utils/askfirst.c)
  39. INSTALL(TARGETS askfirst
  40. RUNTIME DESTINATION sbin
  41. )
  42. ADD_CUSTOM_COMMAND(
  43. OUTPUT syscall-names.h
  44. COMMAND ./make_syscall_h.sh ${CMAKE_C_COMPILER} > ./syscall-names.h
  45. DEPENDS ./make_syscall_h.sh
  46. )
  47. ADD_CUSTOM_TARGET(headers DEPENDS syscall-names.h)
  48. ADD_EXECUTABLE(ujail jail/jail.c jail/elf.c)
  49. TARGET_LINK_LIBRARIES(ujail ubox)
  50. INSTALL(TARGETS ujail
  51. RUNTIME DESTINATION sbin
  52. )
  53. ADD_LIBRARY(preload-seccomp SHARED jail/preload.c jail/seccomp.c)
  54. TARGET_LINK_LIBRARIES(preload-seccomp dl ubox blobmsg_json)
  55. INSTALL(TARGETS preload-seccomp
  56. LIBRARY DESTINATION lib
  57. )
  58. ADD_DEPENDENCIES(preload-seccomp headers)
  59. ADD_EXECUTABLE(utrace trace/trace.c)
  60. TARGET_LINK_LIBRARIES(utrace ubox ${json} blobmsg_json)
  61. INSTALL(TARGETS utrace
  62. RUNTIME DESTINATION sbin
  63. )
  64. ADD_DEPENDENCIES(utrace headers)
  65. ADD_LIBRARY(preload-trace SHARED trace/preload.c)
  66. TARGET_LINK_LIBRARIES(preload-trace dl)
  67. INSTALL(TARGETS preload-trace
  68. LIBRARY DESTINATION lib
  69. )