1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 ########################################################
6 # -DBUILD_DOC_ONLY - only doxygen documentation is build
7 # -DBUILD_DOC - build also doxygen documentation
10 # Remember to add all directories with files to DOC_SRC_DIRS_IN list
12 ########################################################
15 SET(BUILD_EXECUTABLE FALSE)
18 SET(BUILD_EXECUTABLE TRUE)
23 ${CMAKE_SOURCE_DIR}/src/deviced
25 FOREACH(doc_dir ${DOC_SRC_DIRS_IN})
26 SET(DOC_SRC_DIRS "${DOC_SRC_DIRS} ${doc_dir}")
29 FIND_PACKAGE(Doxygen REQUIRED)
31 get_filename_component( DOXYGEN_DOC_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} PATH)
33 #adjust the doxygen configuration for this project
34 configure_file(${CMAKE_SOURCE_DIR}/doxygen/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/doxygen/Doxyfile @ONLY)
36 #build the documentation
37 add_custom_target( doc ALL
39 ${CMAKE_CURRENT_BINARY_DIR}/doxygen/Doxyfile
40 WORKING_DIRECTORY ${CMAKE_DOXYGEN_DIRECTORY}
41 COMMENT "Generating documentation with Doxygen" VERBATIM
48 ########################################################
50 # -DMICRO_DD - for tizenw project
51 # -DTIZEN_ENGINEER_MODE -
52 ########################################################
53 IF("$ENV{CFLAGS}" MATCHES "-DMICRO_DD")
54 OPTION(USE_MICRO_DD "Use Micro DD" ON)
57 IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_ENGINEER_MODE")
58 OPTION(USE_ENGINEER_MODE "Use Engineer mode" ON)
61 IF("${ARCH}" STREQUAL "emulator")
62 OPTION(USE_EMULATOR "Use Emulator" ON)
63 ELSEIF("${ARCH}" STREQUAL "arm")
64 OPTION(USE_ARM "Use Arm" ON)
67 IF("$ENV{CFLAGS}" MATCHES "-DSYSTEMD_SHUTDOWN")
68 OPTION(USE_SYSTEMD_SHUTDOWN "Use systemd shutdown" ON)
71 ########################################################
72 # Deviced CMakeLists.txt
73 ########################################################
74 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
75 SET(EXEC_PREFIX "${PREFIX}/bin")
76 SET(LIBDIR "${PREFIX}/lib")
77 SET(INCLUDEDIR "${PREFIX}/include/${PROJECT_NAME}")
78 SET(DATADIR "${PREFIX}/share/${PROJECT_NAME}")
79 SET(CONFDIR "/etc/${PROJECT_NAME}")
84 src/battery/lowbat-handler.c
85 src/core/buxton-helper.c
86 src/core/device-notifier.c
90 src/core/sig-handler.c
92 src/core/device-change-handler.c
94 src/core/config-parser.c
96 src/core/edbus-handler.c
97 src/core/power-supply.c
100 src/board/board-info.c
101 src/proc/proc-handler.c
102 src/storage/storage.c
104 src/time/time-handler.c
106 src/testmode/testmode.c
111 src/cool-down/cool-down-micro.c
115 src/cool-down/cool-down.c
120 src/hdmi-cec/libcec.c
130 IF(USE_SYSTEMD_SHUTDOWN)
132 src/power/systemd-power.c
136 src/power/power-handler.c
152 src/pmqos/pmqos-plugin.c
153 src/telephony/telephony.c
158 src/battery/battery-time.c
160 src/hall/hall-handler.c
169 src/mmc/mmc-handler.c
176 FIND_PROGRAM(UNAME NAMES uname)
177 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARC")
193 ENDIF(NOT USE_MICRO_DD)
198 src/display/display-dbus.c
200 src/display/device-interface.c
201 src/display/lock-detector.c
203 src/display/setting.c
204 src/display/display-ops.c
205 src/display/display-actor.c
206 src/display/auto-brightness.c
212 src/display/key-filter-micro.c
216 src/display/brightness.c
217 src/display/key-filter.c
218 src/display/enhance.c
219 src/display/smartstay.c
233 src/pass/pass-gov-step.c
234 src/pass/pass-gov-radiation.c
235 src/pass/pass-plugin.c
239 src/touch/touchscreen.c)
245 src/touch/touch-controller.c
246 src/touch/touch-plugin.c)
253 ENDIF(NOT USE_MICRO_DD)
256 src/control/control.c
261 src/haptic/external.c
262 src/haptic/standard.c
263 src/haptic/emulator.c)
269 src/usb/usb-client-event-sdk.c
270 src/usb/usb-client-config.c
271 src/usb/usb-client-set.c
272 src/usb/usb-client-control.c
273 src/usb/usb-client-dbus.c
276 SET(SRCS ${SRCS} src/usb/usb-client-mode-micro.c)
278 SET(SRCS ${SRCS} src/usb/usb-client-mode.c)
286 src/usb/usb-host-dbus.c
287 src/usb/usb-host-storage.c
288 src/usb/usb-host-storage-vfat.c
289 src/usb/usb-host-storage-exfat.c
290 src/usb/usb-host-hid.c
291 src/usb/usb-host-camera.c
292 src/usb/usb-host-printer.c
293 src/usb/usb-host-naming.c
295 ENDIF(NOT USE_MICRO_DD)
299 src/powersaver/powersaver.c
303 src/powersaver/powersaver-micro.c
307 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
308 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
309 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/deviced)
326 INCLUDE(FindPkgConfig)
327 pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
329 FOREACH(flag ${pkgs_CFLAGS})
330 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
333 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Werror")
334 IF(USE_ENGINEER_MODE)
335 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
337 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer")
339 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lrt")
340 MESSAGE("FLAGS: ${CMAKE_C_FLAGS}")
342 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
343 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
344 ADD_DEFINITIONS("-DLIBDIR=\"${LIBDIR}\"")
345 ADD_DEFINITIONS("-DENABLE_KEY_FILTER")
346 ADD_DEFINITIONS("-DENABLE_X_LCD_ONOFF")
347 ADD_DEFINITIONS("-DENABLE_DEVICED_DLOG")
348 ADD_DEFINITIONS("-DENABLE_LIBDEVICED_DLOG")
349 ADD_DEFINITIONS("-DENABLE_PM_LOG")
351 ADD_DEFINITIONS("-DTARGET")
353 ADD_DEFINITIONS("-DEMULATOR")
355 ADD_DEFINITIONS("-DDEBUG")
357 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
358 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl" "-lm" "-ludev" "-ledbus" "-lstorage" shared)
359 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
361 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/deviced/ DESTINATION include/${PROJECT_NAME}
363 PATTERN "*_doc.h" EXCLUDE
366 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
367 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
370 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/led/led.conf DESTINATION /etc/deviced)
371 ENDIF(NOT USE_MICRO_DD)
372 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/dump_pm.sh DESTINATION /opt/etc/dump.d/module.d)
374 IF(USE_EMULATOR AND USE_MICRO_DD)
375 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/display/display-emul-wearable.conf DESTINATION /etc/deviced RENAME display.conf)
377 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/display/display-emul-mobile.conf DESTINATION /etc/deviced RENAME display.conf)
379 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/display/display-wearable.conf DESTINATION /etc/deviced RENAME display.conf)
381 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/display/display-mobile.conf DESTINATION /etc/deviced RENAME display.conf)
383 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/mmc/mmc.conf DESTINATION /etc/deviced RENAME mmc.conf)
384 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/pmqos/pmqos.conf DESTINATION /etc/deviced RENAME pmqos.conf)
386 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/battery/battery.conf DESTINATION /etc/deviced RENAME battery.conf)
388 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/storage/storage.conf DESTINATION /etc/deviced RENAME storage.conf)
391 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/pass/pass-micro.conf DESTINATION /etc/deviced RENAME pass.conf)
392 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/haptic/haptic-micro.conf DESTINATION /etc/deviced RENAME haptic.conf)
394 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/pass/pass.conf DESTINATION /etc/deviced RENAME pass.conf)
395 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/haptic/haptic-mobile.conf DESTINATION /etc/deviced RENAME haptic.conf)
398 INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/scripts/deviced-pre.sh DESTINATION bin)
399 INSTALL(FILES ${CMAKE_SOURCE_DIR}/packaging/${PROJECT_NAME}.efl DESTINATION /etc/smack/accesses.d)
401 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/usb-client-configuration-micro.conf DESTINATION ${CONFDIR} RENAME usb-client-configuration.conf)
403 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/usb-client-configuration.conf DESTINATION ${CONFDIR})
405 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/usb-client-operation.conf DESTINATION ${CONFDIR})
408 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/movi_format.sh DESTINATION bin)
409 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/mmc-smack-label DESTINATION bin)
410 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/fsck-msdos/LICENSE DESTINATION share/license RENAME fsck_msdosfs)
411 ENDIF(NOT USE_MICRO_DD)
414 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/start_dr.sh DESTINATION ${EXEC_PREFIX})
416 # USB (Manual setting)
417 IF(USE_ENGINEER_MODE)
418 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/direct_set_debug.sh DESTINATION ${EXEC_PREFIX})
419 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/set_usb_debug.sh DESTINATION ${EXEC_PREFIX})
422 ADD_SUBDIRECTORY(src)
423 ADD_SUBDIRECTORY(src/libdeviced)
425 ADD_SUBDIRECTORY(src/fsck-msdos)
426 ADD_SUBDIRECTORY(src/newfs-msdos)
427 ENDIF(NOT USE_MICRO_DD)
428 ADD_SUBDIRECTORY(src/devicectl)
429 ADD_SUBDIRECTORY(src/auto-test)
431 ENDIF(BUILD_EXECUTABLE)