cmake_minimum_required (VERSION 3.0) project (procd) ADD_DEFINITIONS(-Os -ggdb -Wall -Werror --std=gnu99 -Wmissing-declarations) set (CMAKE_MODULE_PATH "${MODULE_PATH}") set(DISABLE_TARGET_OPTIMIZATION ON) include (br) file ( GLOB_RECURSE init_source_files ${workspaceRoot}/src/3P/procd/initd/init.c ${workspaceRoot}/src/3P/procd/initd/early.c ${workspaceRoot}/src/3P/procd/initd/preinit.c ${workspaceRoot}/src/3P/procd/initd/mkdev.c ${workspaceRoot}/src/3P/procd/watchdog.c ${workspaceRoot}/src/3P/procd/utils/utils.c ) # Init IF(NOT DISABLE_INIT) add_executable (init ${init_source_files}) target_link_libraries (init ubox ubus) install (TARGETS init RUNTIME DESTINATION ../sbin) ENDIF() # procd file ( GLOB_RECURSE procd_source_files ${workspaceRoot}/src/3P/procd/procd.c ${workspaceRoot}/src/3P/procd/signal.c ${workspaceRoot}/src/3P/procd/state.c ${workspaceRoot}/src/3P/procd/inittab.c ${workspaceRoot}/src/3P/procd/rcS.c ${workspaceRoot}/src/3P/procd/ubus.c ${workspaceRoot}/src/3P/procd/system.c ${workspaceRoot}/src/3P/procd/service/service.c ${workspaceRoot}/src/3P/procd/service/instance.c ${workspaceRoot}/src/3P/procd/service/validate.c ${workspaceRoot}/src/3P/procd/service/trigger.c ${workspaceRoot}/src/3P/procd/service/watch.c ${workspaceRoot}/src/3P/procd/utils/utils.c ) IF(DISABLE_INIT) ADD_DEFINITIONS(-DDISABLE_INIT) ENDIF() IF(NOT DISABLE_INIT) list (APPEND procd_source_files ${workspaceRoot}/src/3P/procd/watchdog.c ${workspaceRoot}/src/3P/procd/plug/coldplug.c ${workspaceRoot}/src/3P/procd/plug/hotplug.c ) ENDIF() IF(EARLY_PATH) ADD_DEFINITIONS(-DEARLY_PATH="${EARLY_PATH}") ENDIF() IF(DEBUG) ADD_DEFINITIONS(-DUDEV_DEBUG -g3) ENDIF() add_executable (procd ${procd_source_files}) target_link_libraries (procd ubox ubus json-c blobmsg_json json_script) install (TARGETS procd RUNTIME DESTINATION ../sbin) # udevtrigger add_executable (udevtrigger ${workspaceRoot}/src/3P/procd/plug/udevtrigger.c) install (TARGETS udevtrigger RUNTIME DESTINATION ../sbin)