CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(system_server C) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "${PREFIX}/bin") SET(LIBDIR "\${prefix}/lib") SET(INCLUDEDIR "${PREFIX}/include/${PROJECT_NAME}") # deviced SET(DEVICED_NAME deviced) SET(VERSION 0.1.0) SET(SRCS src/battery/lowbat-handler.c src/bs/bs.c src/core/device-notifier.c src/core/main.c src/core/sysnoti.c src/core/launch.c src/core/queue.c src/core/core.c src/core/devices.c src/core/sig-handler.c src/core/log.c src/core/device-change-handler.c src/core/predefine.c src/core/noti.c src/core/common.c src/core/edbus-handler.c src/cpu/cpu-handler.c src/mmc/mmc-handler.c src/mmc/vfat.c src/power/power-handler.c src/proc/lowmem-handler.c src/proc/pmon-handler.c src/proc/proc-handler.c src/ta/ta-handler.c src/time/time-handler.c src/usb/usb-handler.c src/vibrator/vibrator.c ) FIND_PROGRAM(UNAME NAMES uname) EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") IF("${ARCH}" STREQUAL "emulated") SET(SRCS ${SRCS} src/mmc/ext4.c ) ENDIF("${ARCH}" STREQUAL "emulated") SET(SRCS ${SRCS} src/display/util.c src/display/llinterface.c src/display/conf.c src/display/setting.c src/display/poll.c src/display/core.c src/display/display-dbus.c src/display/lsensor.c src/display/key-filter.c src/display/battery.c) SET(SRCS ${SRCS} src/led/led.c) SET(SRCS ${SRCS} src/control/control.c) SET(SRCS ${SRCS} src/haptic/haptic.c) # libdeviced SET(DEVICED_SRCS src/shared/battery.c src/shared/control.c src/shared/dbus.c src/shared/deviced-conf.c src/shared/deviced-noti.c src/shared/deviced-util.c src/shared/display.c src/shared/haptic.c src/shared/led.c ) SET(DEVICED_HEADERS src/deviced/dd-battery.h src/deviced/dd-control.h src/deviced/dd-deviced.h src/deviced/dd-deviced-managed.h src/deviced/dd-display.h src/deviced/dd-haptic.h src/deviced/dd-led.h src/deviced/haptic-module.h src/deviced/haptic-plugin-intf.h ) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/display ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/src/deviced ${CMAKE_CURRENT_SOURCE_DIR}/sysman ${CMAKE_CURRENT_SOURCE_DIR}/libslp_pm ) SET(MOVINAND_FORMAT scripts/movi_format.sh) INCLUDE(FindPkgConfig) SET( local_pkgs ecore ecore-file edbus eina vconf heynoti tapi dlog device-node sensor notification libsmack libsystemd-daemon libtzplatform-config ) IF(X11_SUPPORT) SET( local_pkgs ecore-x ${local_pkgs} ) ENDIF(X11_SUPPORT) pkg_check_modules(pkgs REQUIRED ${local_pkgs} ) FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden") SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") SET(PREFIX ${CMAKE_INSTALL_PREFIX}) ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"") ADD_DEFINITIONS("-DPREDEFINE_SO_DIR=\"${LIB_INSTALL_DIR}/ss_predefine/\"") ADD_DEFINITIONS("-DLIBPATH=\"${LIB_INSTALL_DIR}/\"") ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"") ADD_DEFINITIONS("-DENABLE_KEY_FILTER") IF(X11_SUPPORT) ADD_DEFINITIONS("-DENABLE_X_LCD_ONOFF") ENDIF(X11_SUPPORT) ADD_DEFINITIONS("-DENABLE_DLOG_OUT") ADD_DEFINITIONS("-DENABLE_PM_LOG") IF( $ENV{ARCH} MATCHES "arm" ) ADD_DEFINITIONS("-DTARGET") ENDIF() ADD_DEFINITIONS("-DDEBUG -DENABLE_DLOG_OUT") CONFIGURE_FILE(device-daemon.in device-daemon @ONLY) # libdeviced ADD_LIBRARY(${DEVICED_NAME} SHARED ${DEVICED_SRCS}) TARGET_LINK_LIBRARIES(${DEVICED_NAME} ${pkgs_LDFLAGS}) SET_TARGET_PROPERTIES(${DEVICED_NAME} PROPERTIES VERSION ${VERSION}) INSTALL(TARGETS ${DEVICED_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries) FOREACH(hfile ${DEVICED_HEADERS}) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/${DEVICED_NAME}) ENDFOREACH(hfile) CONFIGURE_FILE(${DEVICED_NAME}.pc.in ${DEVICED_NAME}.pc @ONLY) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DEVICED_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl" "-lm" "-ludev") INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin) INSTALL(PROGRAMS ${MOVINAND_FORMAT} DESTINATION bin) INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/device-daemon DESTINATION bin) INSTALL(FILES deviced.conf DESTINATION /etc/dbus-1/system.d) INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/mmc-smack-label DESTINATION bin) INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/shutdown.sh DESTINATION ${LIB_INSTALL_DIR}/system-server) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/systemd/system-server.service DESTINATION ${SYSTEMD_DIR}) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/systemd/system-server.socket DESTINATION ${SYSTEMD_DIR}) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/fsck-msdos/LICENSE DESTINATION share/license RENAME fsck_msdosfs) ADD_SUBDIRECTORY(restarter) ADD_SUBDIRECTORY(sys_event) ADD_SUBDIRECTORY(pm_event) ADD_SUBDIRECTORY(sys_pci_noti) ADD_SUBDIRECTORY(sysman) ADD_SUBDIRECTORY(libslp-pm) ADD_SUBDIRECTORY(haptic) ADD_SUBDIRECTORY(devman) ADD_SUBDIRECTORY(fsck-msdos)