Fixing Coverty Issue [1227859]
[profile/mobile/apps/native/attach-panel-gallery.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(ug-attach-panel-gallery C)
3 SET(GALLERY_UG_PROJECT_NAME ug-attach-panel-gallery)
4 SET(GE_EDC_DIR black_theme/edc)
5 SET(GE_IMG_DIR black_theme/edc/images)
6 SET(GE_SOUND_DIR black_theme/edc/sounds)
7 SET(GE_IMG_EDC_DIR black_theme/images_edc)
8 SET(GE_IMG_C_DIR black_theme/images)
9
10 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
11         SET(CMAKE_BUILD_TYPE "Release")
12 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
13 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
14
15 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
16 SET(RESDIR "${PREFIX}/res")
17 SET(LOCALEDIR "${RESDIR}/locale")
18 SET(EXEC_PREFIX "\${prefix}")
19 SET(LIBDIR "\${prefix}/lib")
20 SET(INCLUDEDIR "\${prefix}/include")
21 SET(VERSION 1.0)
22
23 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
24 ADD_DEFINITIONS("-DPACKAGE=\"${PROJECT_NAME}\"")
25 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
26
27 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src MAIN_UG_SRCS)
28 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src/data DATA_UG_SRCS)
29 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src/util UTIL_UG_SRCS)
30 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src/view VIEW_UG_SRCS)
31 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src/widget WIDGET_UG_SRCS)
32
33 SET(UG_SRCS
34         ${MAIN_UG_SRCS}
35         ${DATA_UG_SRCS}
36         ${UTIL_UG_SRCS}
37         ${VIEW_UG_SRCS}
38         ${WIDGET_UG_SRCS}
39         )
40
41 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
42
43 INCLUDE(FindPkgConfig)
44 pkg_check_modules(pkgs REQUIRED
45         elementary
46         evas
47         dlog
48         glib-2.0
49         capi-appfw-application
50         capi-content-media-content
51         ui-gadget-1
52         efl-extension
53         notification
54         appsvc
55         storage
56         libtzplatform-config
57 )
58
59 FOREACH(flag ${pkgs_CFLAGS})
60         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
61 ENDFOREACH(flag)
62
63 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=hidden")
64 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fpie")
65 SET(CMAKE_C_FLAGS_RELEASE "-O2 -fpie")
66 SET(CMAKE_LDFLAGS "-Wl,-zdefs" )
67
68 FIND_PROGRAM(UNAME NAMES uname)
69 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
70 IF("${ARCH}" STREQUAL "arm")
71         ADD_DEFINITIONS("-DTARGET")
72         MESSAGE("add -DTARGET")
73 ENDIF("${ARCH}" STREQUAL "arm")
74
75 #SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed")
76 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
77
78 ADD_LIBRARY(${PROJECT_NAME} SHARED ${UG_SRCS})
79 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0.0.1)
80 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl")
81
82 # EDJ
83 ADD_CUSTOM_COMMAND(OUTPUT attach-panel-gallery.edj
84                 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/res/${GE_IMG_DIR}
85                                 -id  ${CMAKE_CURRENT_SOURCE_DIR}/res/${GE_IMG_C_DIR}
86                                 -sd  ${CMAKE_CURRENT_SOURCE_DIR}/res/${GE_SOUND_DIR}
87                 ${CMAKE_CURRENT_SOURCE_DIR}/res/${GE_EDC_DIR}/attach-panel-gallery.edc
88                                 ${CMAKE_BINARY_DIR}/attach-panel-gallery.edj
89                 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/${GE_EDC_DIR}/attach-panel-gallery.edc
90 )
91
92 ADD_CUSTOM_COMMAND(OUTPUT attach-panel-gallery-images.edj
93                 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/res/${GE_IMG_EDC_DIR}
94                 ${CMAKE_CURRENT_SOURCE_DIR}/res/${GE_IMG_EDC_DIR}/attach-panel-gallery-images.edc ${CMAKE_BINARY_DIR}/attach-panel-gallery-images.edj
95                 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/${GE_IMG_EDC_DIR}/attach-panel-gallery-images.edc
96 )
97
98 ADD_CUSTOM_TARGET(gallery_efl_edj_build DEPENDS attach-panel-gallery.edj attach-panel-gallery-images.edj)
99 ADD_DEPENDENCIES(${PROJECT_NAME} gallery_efl_edj_build)
100
101 INSTALL(FILES ${CMAKE_BINARY_DIR}/attach-panel-gallery.edj DESTINATION ${RESDIR}/edje/${PROJECT_NAME})
102 INSTALL(FILES ${CMAKE_BINARY_DIR}/attach-panel-gallery-images.edj DESTINATION ${RESDIR}/edje/${PROJECT_NAME})
103
104 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/${GE_IMG_C_DIR} DESTINATION ${RESDIR}/images/${PROJECT_NAME})
105 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR})
106
107 INSTALL(FILES attach-panel-gallery.xml DESTINATION ${TZ_SYS_RO_PACKAGES})
108
109 # i18n
110 ADD_SUBDIRECTORY(res/po)
111
112 # Install appcontrol icon
113 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/icon/attach-panel-gallery.png DESTINATION ${RESDIR}/images/attach-panel-gallery)
114