Fixes to TTS
[platform/core/accessibility/universal-switch.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
2
3 ENABLE_TESTING()
4
5 ## PROJECT NAME
6 PROJECT(universal-switch CXX)
7
8 FIND_PACKAGE(PkgConfig REQUIRED)
9 FIND_PACKAGE(Doxygen)
10
11 option(TESTS "enable/disable universal switch tests" ON)
12 option(DOCS "Build documentation" OFF)
13
14 pkg_check_modules(pkgs REQUIRED
15     atspi-2
16     capi-appfw-service-application
17     capi-appfw-application
18     capi-media-player
19     capi-media-sound-manager
20     capi-telephony
21     capi-ui-efl-util
22     capi-system-device
23     ecore
24     eldbus
25     elementary
26     efl-extension
27     gobject-2.0
28     sqlite3
29     tts
30     tzsh-quickpanel
31     cairo
32     storage
33     syspopup-caller
34     tzsh-screensaver-service
35 )
36 # TODO remove cairo dependency, when there will be available screenshot service.
37
38 SET(COMMON_FLAGS "-fdiagnostics-color=always -fPIC")
39 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_FLAGS}")
40 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_FLAGS} -std=c++14")
41
42 # install desktop file & icon
43 SET(RES_DIR "${CMAKE_INSTALL_PREFIX}/res")
44 SET(ICONS_DIR "${RES_DIR}/icons")
45 SET(LOCALE_DIR "${RES_DIR}/locale")
46 SET(SOUNDS_DIR "${RES_DIR}/sounds/")
47
48 ADD_DEFINITIONS("-DICONS_DIR=\"${ICONS_DIR}\"")
49 ADD_DEFINITIONS("-DLOCALE_DIR=\"${LOCALE_DIR}\"")
50 ADD_DEFINITIONS("-DSOUNDS_DIR=\"${SOUNDS_DIR}\"")
51 ADD_DEFINITIONS("-DPROJECT_NAME=\"${PROJECT_NAME}\"")
52 ADD_DEFINITIONS("-DUNIVERSAL_SWITCH_EDJ=\"${RES_DIR}/${PROJECT_NAME}.edj\"")
53 ADD_DEFINITIONS("-DEFL_BETA_API_SUPPORT=1")
54
55 ADD_DEFINITIONS("-DDEBUG_PRINTING_LEVEL=DEBUG_PRINTING_LEVEL_DEBUG")
56
57 ADD_SUBDIRECTORY(src)
58 ADD_SUBDIRECTORY(res/po)
59 ADD_SUBDIRECTORY(res/sounds)
60 if(TESTS)
61  ADD_SUBDIRECTORY(tests)
62 endif()
63
64 ADD_CUSTOM_TARGET(${PROJECT_NAME}.edj
65         COMMAND edje_cc -no-save res/${PROJECT_NAME}.edc ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.edj
66         DEPENDS res/${PROJECT_NAME}.edc
67 )
68 ADD_DEPENDENCIES(${PROJECT_NAME} ${PROJECT_NAME}.edj)
69
70 # Install Manifest File
71 INSTALL(DIRECTORY res/icons/ DESTINATION ${ICONS_DIR} FILES_MATCHING PATTERN "*.png")
72 INSTALL(FILES org.tizen.universal-switch.xml DESTINATION ${TZ_SYS_RO_PACKAGES})
73 INSTALL(FILES ${PROJECT_NAME}.edj DESTINATION ${RES_DIR})
74 INSTALL(PROGRAMS utils/setVconfKeys.sh DESTINATION scripts/)
75
76
77 #documentation
78
79 if (DOCS)
80     # check if Doxygen is installed
81     if (DOXYGEN_FOUND)
82         # set input and output files
83         set(DOXYGEN_IN docs/Doxyfile.in)
84         set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
85         set(DOXYGEN_DIR ${CMAKE_BINARY_DIR}/doc_doxygen/)
86         set(DOXYGEN_SRC ${CMAKE_SOURCE_DIR}/src/)
87
88         configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
89         message("Doxygen build started")
90         add_custom_target(doc_doxygen ALL
91             COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
92             WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
93             COMMENT "Generating API documentation with Doxygen"
94             VERBATIM )
95         INSTALL(DIRECTORY ${DOXYGEN_DIR} DESTINATION docs)
96     else (DOXYGEN_FOUND)
97         message("Doxygen need to be installed to generate the doxygen documentation")
98     endif (DOXYGEN_FOUND)
99 endif (DOCS)