Change directory according to 3.0 directory policy
[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 )
21
22 SET(ISE_PACKAGE ${PROJECT_NAME})
23 SET(ISE_PKGNAME ${PACKAGE})
24 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
25 SET(ISE_LIBDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/lib")
26 SET(ISE_RESDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/res")
27 SET(ISE_LAYOUTDIR "${ISE_RESDIR}/720x1280/default")
28 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
29     SET(CMAKE_BUILD_TYPE "Release")
30 ENDIF()
31 MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
32
33 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include
34     ${CMAKE_SOURCE_DIR}/src
35     ${CMAKE_SOURCE_DIR}/src/candidate/include
36     ${CMAKE_SOURCE_DIR}/src/candidate/efl
37 )
38
39 INCLUDE(FindPkgConfig)
40 pkg_check_modules(ISE_PKGS REQUIRED
41         elementary
42         efl-extension
43         dlog
44         libscl-ui
45         libscl-core
46         ecore-imf
47         isf
48         vconf
49         libxml-2.0
50         )
51
52 FOREACH(flag ${ISE_PKGS_CFLAGS})
53     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
54 ENDFOREACH(flag)
55
56 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall")
57 #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -finstrument-functions")
58 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
59 SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g")
60
61 ADD_DEFINITIONS("-DPACKAGE=\"${ISE_PACKAGE}\"")
62 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${ISE_PKGNAME}\"")
63 ADD_DEFINITIONS("-DRESDIR=\"${ISE_RESDIR}\"")
64 ADD_DEFINITIONS("-DLAYOUTDIR=\"${ISE_LAYOUTDIR}\"")
65 ADD_DEFINITIONS(-DISE_NAME=\"/ise-default\")
66 ADD_DEFINITIONS(-DSUPPORTS_EMOTICONS)
67
68 ADD_LIBRARY(${PROJECT_NAME} SHARED ${ISE_SRCS})
69
70 # For edc File
71 ADD_CUSTOM_TARGET(
72     candidate-single.edj
73     COMMAND edje_cc -no-save
74         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
75         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
76         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
77         ${CMAKE_BINARY_DIR}/candidate-single.edj
78     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
79 )
80 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-single.edj)
81 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-single.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
82 # For edc File end
83 # For edc File
84 ADD_CUSTOM_TARGET(
85     candidate-multiline.edj
86     COMMAND edje_cc -no-save
87         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
88         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
89         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
90         ${CMAKE_BINARY_DIR}/candidate-multiline.edj
91     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
92 )
93 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-multiline.edj)
94 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-multiline.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
95 # For edc File end
96 # For edc File
97 ADD_CUSTOM_TARGET(
98     customised_gengrid.edj
99     COMMAND edje_cc -no-save
100         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
101         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
102         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc
103         ${CMAKE_BINARY_DIR}/customised_gengrid.edj
104     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc)
105 ADD_DEPENDENCIES(${PROJECT_NAME} customised_gengrid.edj)
106 INSTALL(FILES ${CMAKE_BINARY_DIR}/customised_gengrid.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
107
108 ADD_CUSTOM_TARGET(
109     layout_keypad.edj
110     COMMAND edje_cc -no-save
111         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc
112         ${CMAKE_BINARY_DIR}/layout_keypad.edj
113         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc)
114 ADD_DEPENDENCIES(${PROJECT_NAME} layout_keypad.edj)
115 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout_keypad.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
116 # For edc File end
117
118 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ISE_PKGS_LDFLAGS})
119
120 set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
121 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${ISE_LIBDIR})
122
123 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.xml DESTINATION
124         ${TZ_SYS_RO_PACKAGES})
125
126 if(${TARGET} STREQUAL "tv")
127 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/tv/
128         DESTINATION ${ISE_LAYOUTDIR}/tv/image)
129 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/tv/ DESTINATION
130         ${ISE_LAYOUTDIR}/tv FILES_MATCHING PATTERN "*.xml")
131 elseif(${TARGET} STREQUAL "wearable")
132 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/wearable/
133         DESTINATION ${ISE_LAYOUTDIR}/wearable/image)
134 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/wearable/ DESTINATION
135         ${ISE_LAYOUTDIR}/wearable FILES_MATCHING PATTERN "*.xml")
136 elseif(${TARGET} STREQUAL "mobile")
137 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/sdk/
138         DESTINATION ${ISE_LAYOUTDIR}/sdk/image)
139 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/sdk/ DESTINATION
140         ${ISE_LAYOUTDIR}/sdk FILES_MATCHING PATTERN "*.xml")
141 endif()
142
143 ADD_SUBDIRECTORY(po)