83353bcce1c6d9b5386854c5e02a643761a32fd0
[apps/home/gallery.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(gallery C)
3
4 SET(RSRC_DIR res)
5 SET(EDC_DIR edc)
6 SET(IMG_DIR images)
7
8 SET(SRCS src/gallery.c
9  src/features/gl-albums.c
10  src/features/gl-gridview.c
11  src/features/gl-listview.c
12  src/features/gl-controlbar.c
13  src/features/gl-button.c
14  src/features/gl-popup.c
15  src/features/gl-progressbar.c
16  src/util/gl-ui-util.c
17  src/util/gl-ext-exec.c
18  src/util/gl-ext-ug-load.c
19  src/util/gl-util.c
20  src/util/gl-db-handler.c
21  src/util/gl-thread-util.c
22 )
23
24 SET(VENDOR "tizen")
25 SET(PACKAGE ${PROJECT_NAME})
26 SET(PKGNAME "org.${VENDOR}.gallery")
27 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
28 SET(BINDIR "${PREFIX}/bin")
29 SET(RESDIR "${PREFIX}/res")
30 SET(DATADIR "${PREFIX}/data")
31 SET(LOCALEDIR "${RESDIR}/locale")
32 SET(ICONDIR "${RESDIR}/icons/default/small")
33 SET(EDJDIR "${RESDIR}/edje")
34
35 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
36         SET(CMAKE_BUILD_TYPE "Release")
37 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
38 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
39
40 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
41 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/util)
42 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/features)
43
44 INCLUDE(FindPkgConfig)
45 pkg_check_modules(pkgs REQUIRED
46         appcore-common
47         appcore-efl
48         libmedia-service
49         media-thumbnail
50         ui-gadget
51         ecore-imf
52         ecore-x
53         eina
54         evas
55         edje
56         ecore
57         ecore-file
58         ecore-input
59         gthread-2.0
60         appsvc
61         capi-appfw-application
62         devman_haptic)
63
64 FOREACH(flag ${pkgs_CFLAGS})
65         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
66 ENDFOREACH(flag)
67
68 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
69 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fpie")
70 SET(CMAKE_C_FLAGS_RELEASE "-O2 -fpie")
71
72 FIND_PROGRAM(UNAME NAMES uname)
73 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
74 IF("${ARCH}" STREQUAL "arm")
75         ADD_DEFINITIONS("-DTARGET")
76         MESSAGE("add -DTARGET")
77 ENDIF("${ARCH}" STREQUAL "arm")
78
79 ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
80 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
81 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
82 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
83 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
84 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
85 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
86 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
87 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
88
89 ADD_DEFINITIONS("-D_USE_DLOG_")
90
91 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
92 SET(CMAKE_LDFLAGS "-Wl,-zdefs" )
93
94 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
95 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
96
97 ADD_CUSTOM_COMMAND(OUTPUT gallery.edj
98                 COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${IMG_DIR}
99                 ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${EDC_DIR}/gallery.edc ${CMAKE_BINARY_DIR}/gallery.edj
100                 DEPENDS ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${EDC_DIR}/gallery.edc
101 )
102 ADD_CUSTOM_COMMAND(OUTPUT gl-black-theme.edj
103                 COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${IMG_DIR}
104                 ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${EDC_DIR}/gl-black-theme.edc ${CMAKE_BINARY_DIR}/gl-black-theme.edj
105                 DEPENDS ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${EDC_DIR}/gl-black-theme.edc
106 )
107 ADD_CUSTOM_TARGET(edj_build DEPENDS gallery.edj gl-black-theme.edj)
108 ADD_DEPENDENCIES(${PROJECT_NAME} edj_build)
109 #ADD_DEPENDENCIES(${PROJECT_NAME} gallery.edj)
110
111 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
112 INSTALL(FILES ${CMAKE_BINARY_DIR}/gallery.edj DESTINATION ${EDJDIR})
113 INSTALL(FILES ${CMAKE_BINARY_DIR}/gl-black-theme.edj DESTINATION ${EDJDIR})
114
115 # install desktop file & icon
116 CONFIGURE_FILE(${PKGNAME}.desktop.in ${PKGNAME}.desktop)
117
118 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PKGNAME}.desktop DESTINATION /opt/share/applications)
119 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/icon/${PKGNAME}.png DESTINATION ${ICONDIR})
120 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/enc/conf.enc DESTINATION ${RESDIR}/.decarta)
121
122 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images DESTINATION ${RESDIR})
123
124 # install content shortcut uri file
125 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/gallery.uri DESTINATION /opt/share/miregex )
126
127 # install application HOME directory
128 #INSTALL(DIRECTORY DESTINATION /opt/apps/org.tizen.gallery/data)
129 INSTALL(DIRECTORY DESTINATION /opt/apps/${PKGNAME}/data)
130
131 # Share APP mo files with Gallery UG
132 SET(GALLERY_UG_PROJECT_NAME ug-gallery-efl)
133
134 # i18n
135 ADD_SUBDIRECTORY(res/po)
136
137 # UG
138 ADD_SUBDIRECTORY(libug/libug-gallery-efl)
139