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}")
83 src/battery/lowbat-handler.c
85 src/core/device-notifier.c
92 src/core/sig-handler.c
93 src/core/device-change-handler.c
96 src/core/config-parser.c
98 src/core/edbus-handler.c
99 src/core/power-supply.c
100 src/core/lowstorage.c
102 src/board/board-info.c
103 src/proc/proc-handler.c
105 src/time/time-handler.c
107 src/testmode/testmode.c
110 IF(USE_SYSTEMD_SHUTDOWN)
112 src/power/systemd-power.c
116 src/power/power-handler.c
122 ADD_DEFINITIONS("-DMOBILE_EMULATOR")
127 ENDIF(NOT USE_MICRO_DD)
134 src/pmqos/pmqos-plugin.c
139 src/battery/battery-time.c
141 src/cpu/cpu-handler.c
142 src/hall/hall-handler.c
143 src/proc/pmon-handler.c
152 IF(NOT USE_SYSTEMD_SHUTDOWN)
154 src/telephony/telephony.c
159 src/mmc/mmc-handler.c
166 FIND_PROGRAM(UNAME NAMES uname)
167 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARC")
177 ENDIF(NOT USE_MICRO_DD)
182 src/display/display-dbus.c
184 src/display/device-interface.c
185 src/display/lock-detector.c
187 src/display/setting.c
188 src/display/display-ops.c
194 src/display/key-filter-micro.c
198 src/display/brightness.c
199 src/display/key-filter.c
200 src/display/enhance.c
201 src/display/auto-brightness.c
202 src/display/smartstay.c
217 src/touch/touch-controller.c
218 src/touch/touch-plugin.c)
224 ENDIF(NOT USE_MICRO_DD)
227 src/control/control.c
232 src/haptic/standard.c
233 src/haptic/external.c
234 src/haptic/emulator.c)
240 src/usb/usb-client-xml.c
241 src/usb/usb-client-set.c
242 src/usb/usb-client-control.c
243 src/usb/usb-client-dbus.c
251 src/usb/usb-host-dbus.c
252 src/usb/usb-host-storage.c
253 src/usb/usb-host-storage-vfat.c
254 src/usb/usb-host-hid.c
255 src/usb/usb-host-camera.c
256 src/usb/usb-host-printer.c
257 src/usb/usb-host-naming.c
259 ENDIF(NOT USE_MICRO_DD)
264 src/powersaver/powersaver.c
268 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
269 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
270 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/deviced)
271 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/logd/src/shared)
287 SET(PKG_MODULES ${PKG_MODULES}
294 IF(USE_TRUSTZONE_QUALCOMM)
295 SET(PKG_MODULES ${PKG_MODULES}
302 SET(PKG_MODULES ${PKG_MODULES}
306 ENDIF(NOT USE_MICRO_DD)
307 INCLUDE(FindPkgConfig)
308 pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
310 FOREACH(flag ${pkgs_CFLAGS})
311 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
314 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Werror")
315 IF(USE_ENGINEER_MODE)
316 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
318 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer")
320 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lrt")
321 MESSAGE("FLAGS: ${CMAKE_C_FLAGS}")
323 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
324 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
325 ADD_DEFINITIONS("-DLIBDIR=\"${LIBDIR}\"")
326 ADD_DEFINITIONS("-DENABLE_KEY_FILTER")
327 ADD_DEFINITIONS("-DENABLE_X_LCD_ONOFF")
328 ADD_DEFINITIONS("-DENABLE_DEVICED_DLOG")
329 ADD_DEFINITIONS("-DENABLE_LIBDEVICED_DLOG")
330 ADD_DEFINITIONS("-DENABLE_PM_LOG")
332 ADD_DEFINITIONS("-DTARGET")
334 ADD_DEFINITIONS("-DEMULATOR")
336 ADD_DEFINITIONS("-DDEBUG")
338 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
339 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl" "-lm" "-ludev" "-ledbus" shared)
340 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
342 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/deviced/ DESTINATION include/${PROJECT_NAME}
344 PATTERN "*_doc.h" EXCLUDE
347 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
348 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
350 IF(USE_ARM AND NOT USE_MICRO_DD)
351 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/src/haptic/HW_touch_30ms_sharp.ivt DESTINATION ${DATADIR})
352 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/led/led.xml DESTINATION ${DATADIR})
353 ENDIF(USE_ARM AND NOT USE_MICRO_DD)
354 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/dump_pm.sh DESTINATION /opt/etc/dump.d/module.d)
356 IF(USE_TRUSTZONE_QUALCOMM)
357 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/display/display-msm.conf DESTINATION /etc/deviced RENAME display.conf)
359 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/display/display-emul.conf DESTINATION /etc/deviced RENAME display.conf)
361 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/display/display-exynos.conf DESTINATION /etc/deviced RENAME display.conf)
363 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/mmc/mmc.conf DESTINATION /etc/deviced RENAME mmc.conf)
364 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/pmqos/pmqos.conf DESTINATION /etc/deviced RENAME pmqos.conf)
368 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/battery/battery-micro-emul.conf DESTINATION /etc/deviced RENAME battery.conf)
370 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/battery/battery-micro.conf DESTINATION /etc/deviced RENAME battery.conf)
373 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/battery/battery.conf DESTINATION /etc/deviced RENAME battery.conf)
376 INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/scripts/deviced-pre.sh DESTINATION bin)
377 INSTALL(FILES ${CMAKE_SOURCE_DIR}/packaging/${PROJECT_NAME}.rule DESTINATION /etc/smack/accesses2.d)
378 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/configurations/conf-supported.xml DESTINATION ${DATADIR}/usb-configurations)
379 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/configurations/usb-configurations.xml DESTINATION ${DATADIR}/usb-configurations)
382 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/movi_format.sh DESTINATION bin)
383 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/mmc-smack-label DESTINATION bin)
384 ENDIF(NOT USE_MICRO_DD)
387 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/start_dr.sh DESTINATION ${EXEC_PREFIX})
389 # USB (Manual setting)
390 IF(USE_ENGINEER_MODE)
391 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/direct_set_debug.sh DESTINATION ${EXEC_PREFIX})
392 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/set_usb_debug.sh DESTINATION ${EXEC_PREFIX})
395 ADD_SUBDIRECTORY(src)
396 ADD_SUBDIRECTORY(src/libdeviced)
397 ADD_SUBDIRECTORY(src/devicectl)
398 ADD_SUBDIRECTORY(src/auto-test)
400 ENDIF(BUILD_EXECUTABLE)