initial upload for tizen 2.0 beta
[apps/home/gallery.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(gallery C)
3
4 SET(RSRC_DIR res)
5
6 SET(EDC_DIR white_theme/edc)
7 SET(IMG_DIR white_theme/images)
8 SET(SOUND_DIR white_theme/sounds)
9
10 SET(SRCS
11  src/gallery.c
12  src/features/gl-albums.c
13  src/features/gl-gridview.c
14  src/features/gl-listview.c
15  src/widget/gl-button.c
16  src/widget/gl-controlbar.c
17  src/widget/gl-editfield.c
18  src/widget/gl-nocontents.c
19  src/widget/gl-notify.c
20  src/widget/gl-popup.c
21  src/widget/gl-progressbar.c
22  src/widget/gl-rotate-bg.c
23  src/widget/gl-tile.c
24  src/widget/gl-thumb.c
25  src/widget/gl-video.c
26  src/util/gl-debug.c
27  src/util/gl-ui-util.c
28  src/util/gl-ext-exec.c
29  src/util/gl-ext-ug-load.c
30  src/util/gl-util.c
31  src/util/gl-drm.c
32  src/util/gl-thread-util.c
33  src/util/gl-lang.c
34  src/util/gl-exif.c
35  src/data/gl-data-type.c
36  src/data/gl-data.c
37  src/data/gl-data-util.c
38  src/data/gl-local-data.c
39 )
40
41 SET(VENDOR "tizen")
42 SET(PACKAGE ${PROJECT_NAME})
43 SET(PKGNAME "org.${VENDOR}.gallery")
44 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
45 SET(BINDIR "${PREFIX}/bin")
46 SET(RESDIR "${PREFIX}/res")
47 SET(DATADIR "${PREFIX}/data")
48 SET(LOCALEDIR "${RESDIR}/locale")
49 SET(ICONDIR "/opt/share/icons/default/small")
50 SET(EDJDIR "${RESDIR}/edje")
51
52 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
53         SET(CMAKE_BUILD_TYPE "Release")
54 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
55 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
56
57 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
58 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/data)
59 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/util)
60 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/widget)
61 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/features)
62
63 INCLUDE(FindPkgConfig)
64 pkg_check_modules(pkgs REQUIRED
65         media-thumbnail
66         capi-content-media-content
67         drm-client
68         ui-gadget-1
69         elementary
70         ecore-imf
71         ecore-x
72         eina
73         evas
74         edje
75         vconf
76         ecore
77         ecore-file
78         ecore-input
79         dlog
80         glib-2.0
81         gthread-2.0
82         capi-appfw-application
83         capi-appfw-app-manager
84         capi-system-haptic
85 )
86
87 FOREACH(flag ${pkgs_CFLAGS})
88         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
89 ENDFOREACH(flag)
90
91 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
92 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
93 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fpie")
94 SET(CMAKE_C_FLAGS_RELEASE "-O2 -fpie")
95
96 FIND_PROGRAM(UNAME NAMES uname)
97 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
98 IF("${ARCH}" MATCHES "arm")
99         ADD_DEFINITIONS("-DTARGET")
100         MESSAGE("add -DTARGET")
101 ENDIF("${ARCH}" MATCHES "arm")
102
103 ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
104 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
105 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
106 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
107 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
108 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
109 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
110 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
111 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
112
113 ADD_DEFINITIONS("-D_USE_DLOG_")
114 ADD_DEFINITIONS("-D_USE_WIFI")
115 ADD_DEFINITIONS("-D_USE_ROTATE_BG")
116
117 ADD_DEFINITIONS("-D_RENAME_ALBUM_SENSITIVE")
118 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
119 SET(CMAKE_LDFLAGS "-Wl,-zdefs" )
120
121 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
122
123 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lstdc++ )
124
125 ADD_CUSTOM_COMMAND(OUTPUT gallery.edj
126                 COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${IMG_DIR}
127                 -sd  ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${SOUND_DIR}
128                 ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${EDC_DIR}/gallery.edc ${CMAKE_BINARY_DIR}/gallery.edj
129                 DEPENDS ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${EDC_DIR}/gallery.edc
130 )
131
132 ADD_CUSTOM_TARGET(edj_build DEPENDS gallery.edj)
133 ADD_DEPENDENCIES(${PROJECT_NAME} edj_build)
134 #ADD_DEPENDENCIES(${PROJECT_NAME} gallery.edj)
135
136 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
137 INSTALL(FILES ${CMAKE_BINARY_DIR}/gallery.edj DESTINATION ${EDJDIR})
138
139 # install manifest file & icon
140 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PKGNAME}.xml DESTINATION /opt/share/packages)
141 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/icon/${PKGNAME}.png DESTINATION ${ICONDIR})
142
143 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/white_theme/images DESTINATION ${RESDIR}/)
144 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/white_theme/sounds DESTINATION ${RESDIR}/)
145
146 # install content shortcut uri file
147 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/gallery.uri DESTINATION /opt/share/miregex )
148
149 # install application HOME directory
150 #INSTALL(DIRECTORY DESTINATION /opt/apps/org.tizen.gallery/data)
151 INSTALL(DIRECTORY DESTINATION /opt/apps/${PKGNAME}/data)
152
153 # Share APP mo files with Gallery UG
154 SET(GALLERY_UG_PROJECT_NAME ug-gallery-efl)
155 # i18n
156 ADD_SUBDIRECTORY(res/po)
157
158 # UG
159 ADD_SUBDIRECTORY(ug/ug-gallery-efl)