update smack
[apps/core/preloaded/ug-camera-efl.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(ug-camera-efl C CXX)
3
4 message(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
5 message("furcate arm or i686")
6 EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
7 message("This package is building by ${CMAKE_SYSTEM_VERSION}")
8 message(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
9
10 if("${CMAKE_SYSTEM_VERSION}" MATCHES "^arm.*")
11 SET(SRCS
12 src/cam.c
13 src/camera_utils.c
14 src/cam_mm.c
15 src/cam_app.c
16 src/cam_animation.c
17 src/cam_sound.c
18 src/cam_debug.c
19 src/cam_config.c
20 src/cam_file.c
21 src/cam_ta.c
22 src/cam_continuous_shot.c
23 src/cam_rec.c
24 src/cam_lbs.c
25 src/cam_popup.c
26 src/cam_long_press.c
27 src/cam_face_detection_focus.c
28 src/cam_ui_effect_utils.c
29 src/cam_ui_rotate_utils.c
30 src/cam_menu_composer.c
31 src/cam_typeconverter.cpp
32 src/cam_device_capacity.cpp
33 src/CamTypeConverter.cpp
34 src/CamDeviceCapacity.cpp
35 src/cam_voice_command.c
36 src/cam_exif_info.c
37 src/edc-callback/cam_common_edc_callback.c
38 src/edc-callback/cam_toolbar_edc_callback.c
39 src/edc-callback/cam_indicator_edc_callback.c
40 src/edc-callback/cam_ev_edc_callback.c
41 src/edc-callback/cam_zoom_edc_callback.c
42 src/edc-callback/cam_recording_edc_callback.c
43 )
44 else()
45 SET(SRCS
46 src/cam.c
47 src/camera_utils.c
48 src/cam_mm.c
49 src/cam_app.c
50 src/cam_sound.c
51 src/cam_debug.c
52 src/cam_config.c
53 src/cam_file.c
54 src/cam_ta.c
55 src/cam_continuous_shot.c
56 src/cam_rec.c
57 src/cam_lbs.c
58 src/cam_popup.c
59 src/cam_long_press.c
60 src/cam_face_detection_focus.c
61 src/cam_ui_effect_utils.c
62 src/cam_ui_rotate_utils.c
63 src/cam_menu_composer.c
64 src/cam_typeconverter.cpp
65 src/cam_device_capacity.cpp
66 src/CamTypeConverter.cpp
67 src/CamDeviceCapacity.cpp
68 src/cam_voice_command.c
69 src/edc-callback/cam_common_edc_callback.c
70 src/edc-callback/cam_toolbar_edc_callback.c
71 src/edc-callback/cam_indicator_edc_callback.c
72 src/edc-callback/cam_ev_edc_callback.c
73 src/edc-callback/cam_zoom_edc_callback.c
74 src/edc-callback/cam_recording_edc_callback.c
75 )
76 endif()
77 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include
78 ${CMAKE_CURRENT_SOURCE_DIR}/include/edc-callback )
79
80 INCLUDE(FindPkgConfig)
81 pkg_check_modules(pkgs REQUIRED
82         elementary
83         devman
84         capi-appfw-application
85         capi-content-media-content
86         capi-location-manager
87         capi-media-camera
88         capi-media-image-util
89         capi-media-recorder
90         capi-media-sound-manager
91         capi-media-wav-player
92         capi-system-power
93         vconf
94         dlog
95         ui-gadget-1
96         utilX
97         ecore-x ecore ecore-evas ecore-input eina
98         syspopup-caller
99         capi-system-sensor
100 )
101 FOREACH(flag ${pkgs_CFLAGS})
102         SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
103 ENDFOREACH(flag)
104
105 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -Wall")
106 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -fPIC")
107 SET(CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS})
108
109 SET(CAMERA_UG_PACKAGE_NAME "ug-camera-efl")
110 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
111 SET(BINDIR "${PREFIX}/bin")
112 SET(RESDIR "${PREFIX}/res")
113 SET(DATADIR "/opt/usr/ug/data/${CAMERA_UG_PACKAGE_NAME}")
114 SET(LOCALEDIR "${RESDIR}/locale")
115 SET(EDJDIR "${RESDIR}/edje/${CAMERA_UG_PACKAGE_NAME}")
116 SET(SOUNDDIR "${RESDIR}/sounds/${CAMERA_UG_PACKAGE_NAME}")
117 SET(ICONDIR "${RESDIR}/icons/${CAMERA_UG_PACKAGE_NAME}")
118
119 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
120 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{PREFIX}\"")
121 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
122 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
123 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
124 ADD_DEFINITIONS("-DSLP_DEBUG")
125
126 if(NOT "${CMAKE_SYSTEM_VERSION}" MATCHES "^arm.*")
127 add_definitions(-DCAMERA_MACHINE_I686="${CMAKE_SYSTEM_VERSION}")
128 endif()
129
130 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
131 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0.1.0)
132
133 if("${CMAKE_SYSTEM_VERSION}" MATCHES "^arm.*")
134 #TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${${PROJECT_NAME}_pkgs_LDFLAGS})
135 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${EXTPkgs_LDFLAGS} "-fpie")
136 else()
137 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
138 endif()
139
140 ###################################### EDC, Begin ################################
141 SET(EDC_DIR     ${CMAKE_SOURCE_DIR}/edc)
142 SET(IMAGE_DIR   ${CMAKE_SOURCE_DIR}/images/edc_images)
143
144 SET(EDC_FILES
145 cam_main_layout
146 cam_toolbar_layout
147 cam_toolbar_layout_inverse
148 cam_toolbar_layout_vertical
149 cam_toolbar_layout_vertical_inverse
150 cam_recording_edje
151 cam_recording_edje_inverse
152 cam_recording_edje_vertical
153 cam_recording_edje_vertical_inverse
154 style_ctxpopup_camera_with_radio
155 style_slider_camera
156 style_label_camera
157 style_button_camera
158 cam_indicator_layout
159 cam_utils
160 cam_ev_layout
161 cam_ev_layout_inverse
162 cam_ev_layout_vertical
163 cam_ev_layout_vertical_inverse
164 cam_zoom_layout
165 cam_zoom_layout_inverse
166 cam_zoom_layout_vertical
167 cam_zoom_layout_vertical_inverse
168 cam_ctxpopup_shortcuts
169 cam_setting_popup_layout
170 cam_images
171 )
172
173 FOREACH(file_name ${EDC_FILES})
174                 ADD_CUSTOM_TARGET(${file_name}.edj
175                                 COMMAND edje_cc -id ${IMAGE_DIR}
176                                 ${EDC_DIR}/${file_name}.edc ${EDC_DIR}/${file_name}.edj
177                                 DEPENDS ${EDC_DIR}/${file_name}.edc
178                 )
179                 ADD_DEPENDENCIES(${PROJECT_NAME} ${file_name}.edj)
180                 INSTALL(FILES ${EDC_DIR}/${file_name}.edj DESTINATION ${EDJDIR})
181 ENDFOREACH(file_name)
182 ###################################### EDC, end ################################
183
184 # install library
185 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/ug/lib)
186
187 # install sound & image files
188 INSTALL(FILES ${CMAKE_SOURCE_DIR}/ug-camera-efl.xml DESTINATION /usr/share/packages/)
189 INSTALL(FILES ${CMAKE_SOURCE_DIR}/ug-camera-efl.png DESTINATION ${ICONDIR})
190 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/sounds DESTINATION ${SOUNDDIR})
191
192 # install .camera.ini file
193 INSTALL(FILES ${CMAKE_SOURCE_DIR}/.camera.ini DESTINATION ${DATADIR})
194
195 # i18n
196 ADD_SUBDIRECTORY(po)