Add clipboard feature
[platform/core/uifw/ise-default.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(ise-default CXX)
3
4 SET(ISE_SRCS
5     src/ise.cpp
6     src/languages.cpp
7     src/config.cpp
8     src/option.cpp
9     src/imdata.cpp
10     src/sdk/ise_lang_table.cpp
11     src/sdk/sdk.cpp
12     src/sdk/sdk_option.cpp
13     src/candidate/candidate-factory.cpp
14     src/candidate/candidate.cpp
15     src/candidate/efl/candidate-efl.cpp
16     src/candidate/efl/candidate-multiline-efl.cpp
17
18     src/ise-emoticon-list.cpp
19     src/ise-emoticon-mode.cpp
20     src/cbhm.cpp
21 )
22
23 SET(ISE_PACKAGE ${PROJECT_NAME})
24 SET(ISE_PKGNAME ${PACKAGE})
25 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
26 SET(ISE_BINDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/bin")
27 SET(ISE_LIBDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/lib")
28 SET(ISE_RESDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/res")
29 SET(ISE_LAYOUTDIR "${ISE_RESDIR}/720x1280/default")
30 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
31     SET(CMAKE_BUILD_TYPE "Release")
32 ENDIF()
33 MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
34
35 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include
36     ${CMAKE_SOURCE_DIR}/src
37     ${CMAKE_SOURCE_DIR}/src/candidate/include
38     ${CMAKE_SOURCE_DIR}/src/candidate/efl
39 )
40
41 INCLUDE(FindPkgConfig)
42 pkg_check_modules(ISE_PKGS REQUIRED
43         elementary
44         efl-extension
45         dlog
46         libscl-ui
47         libscl-core
48         ecore-imf
49         isf
50         vconf
51         libxml-2.0
52         )
53
54 FOREACH(flag ${ISE_PKGS_CFLAGS})
55     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
56 ENDFOREACH(flag)
57
58 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall")
59 #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -finstrument-functions")
60 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
61 SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g")
62
63 ADD_DEFINITIONS("-DPACKAGE=\"${ISE_PACKAGE}\"")
64 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${ISE_PKGNAME}\"")
65 ADD_DEFINITIONS("-DRESDIR=\"${ISE_RESDIR}\"")
66 ADD_DEFINITIONS("-DLAYOUTDIR=\"${ISE_LAYOUTDIR}\"")
67 ADD_DEFINITIONS(-DISE_NAME=\"/ise-default\")
68 ADD_DEFINITIONS(-DSUPPORTS_EMOTICONS)
69
70 ADD_EXECUTABLE(${PROJECT_NAME} ${ISE_SRCS})
71
72 # For edc File
73 ADD_CUSTOM_TARGET(
74     candidate-single.edj
75     COMMAND edje_cc -no-save
76         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
77         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
78         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
79         ${CMAKE_BINARY_DIR}/candidate-single.edj
80     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
81 )
82 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-single.edj)
83 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-single.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
84 # For edc File end
85 # For edc File
86 ADD_CUSTOM_TARGET(
87     candidate-multiline.edj
88     COMMAND edje_cc -no-save
89         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
90         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
91         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
92         ${CMAKE_BINARY_DIR}/candidate-multiline.edj
93     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
94 )
95 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-multiline.edj)
96 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-multiline.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
97 # For edc File end
98 # For edc File
99 ADD_CUSTOM_TARGET(
100     customised_gengrid.edj
101     COMMAND edje_cc -no-save
102         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
103         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
104         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc
105         ${CMAKE_BINARY_DIR}/customised_gengrid.edj
106     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc)
107 ADD_DEPENDENCIES(${PROJECT_NAME} customised_gengrid.edj)
108 INSTALL(FILES ${CMAKE_BINARY_DIR}/customised_gengrid.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
109
110 ADD_CUSTOM_TARGET(
111     layout_keypad.edj
112     COMMAND edje_cc -no-save
113         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc
114         ${CMAKE_BINARY_DIR}/layout_keypad.edj
115         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc)
116 ADD_DEPENDENCIES(${PROJECT_NAME} layout_keypad.edj)
117 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout_keypad.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
118 # For edc File end
119
120 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ISE_PKGS_LDFLAGS})
121
122 set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
123 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${ISE_BINDIR})
124
125 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.xml DESTINATION
126         ${TZ_SYS_RO_PACKAGES})
127
128 if(${TARGET} STREQUAL "tv")
129 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/tv/
130         DESTINATION ${ISE_LAYOUTDIR}/tv/image)
131 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/tv/ DESTINATION
132         ${ISE_LAYOUTDIR}/tv FILES_MATCHING PATTERN "*.xml")
133 elseif(${TARGET} STREQUAL "wearable")
134 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/wearable/
135         DESTINATION ${ISE_LAYOUTDIR}/wearable/image)
136 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/wearable/ DESTINATION
137         ${ISE_LAYOUTDIR}/wearable FILES_MATCHING PATTERN "*.xml")
138 else(${TARGET} STREQUAL "tv")
139 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/sdk/
140         DESTINATION ${ISE_LAYOUTDIR}/sdk/image)
141 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/sdk/ DESTINATION
142         ${ISE_LAYOUTDIR}/sdk FILES_MATCHING PATTERN "*.xml")
143 endif()
144
145 ADD_SUBDIRECTORY(po)