sync main branch
[apps/core/preloaded/ug-image-viewer-efl.git] / main / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET(VERSION_MAJOR 0)
4 SET(VERSION "${VERSION_MAJOR}.1.0")
5
6 PROJECT(ug-image-viewer-efl C CXX)
7
8 EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
9
10 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
11
12 SET(SRCS
13 # Entry point
14         src/ug-image-viewer.cpp
15
16 # View related
17         src/view/ivug-main-view.cpp
18         src/view/ivug-main-view-toolbar.cpp
19         src/view/ivug-main-view-menu.cpp
20
21         src/view/ivug-slideshow-view.cpp
22
23         src/view/ivug-name-view.c
24         src/view/ivug-details-view.c
25         src/view/ivug-crop-view.cpp
26
27 # SetAs View
28         src/view/ivug-setas-view.c
29         src/view/ivug-setas-view-wallpaper.cpp
30         src/view/ivug-setas-view-callerid.cpp
31
32 # Slider
33         src/slider/ivug-slider.cpp
34         src/slider/ivug-slider-item.cpp
35         src/slider/ivug-slider-mouse.cpp
36
37 # Control related
38         src/control/ivug-parameter.c
39         src/control/ivug-context.c
40         src/control/ivug-detail-info.c
41         src/control/ivug-setas.cpp
42         src/control/ivug-crop-ug.cpp
43         src/control/ivug-widget.c
44         src/control/ivug-selectioninfo.c
45         src/control/ivug-popup.c
46 )
47
48 # message("System = ${CMAKE_SYSTEM_VERSION}")
49
50 INCLUDE_DIRECTORIES(
51         ${CMAKE_SOURCE_DIR}/include
52         ${IVUG_SOURCE_WIDGET_DIR}/include
53         ${IVUG_SOURCE_COMMON_DIR}/include
54         ${IVUG_SOURCE_MEDIA_DIR}/include
55         ${IVUG_SOURCE_RESOURCE_DIR}/include
56         src
57         src/include
58         src/control
59         ${IVUG_SOURCE_FEATURE_DIR}/include
60         ${IVUG_SOURCE_SLIDESHOW_DIR}/include
61
62 # Below include directory should be removed for make module more indepentatly
63 #       ${IVUG_SOURCE_SLIDESHOW_DIR}/src/effect/include
64 #       ${IVUG_SOURCE_SLIDESHOW_DIR}/src/dali_effect/include
65 )
66
67 INCLUDE(FindPkgConfig)
68 pkg_check_modules(pkgs REQUIRED
69         elementary
70         edje
71         evas
72         eina
73         dlog
74         ecore
75         ecore-file
76         ecore-imf
77         ecore-x
78         ecore-input
79         ecore-evas
80         utilX
81         ui-gadget-1
82         libweb-media
83         libmedia-utils
84         media-thumbnail
85         drm-client
86         glib-2.0
87         vconf
88         liballshare
89         liballshare-core
90         shortcut
91         capi-appfw-application
92         capi-appfw-app-manager
93         capi-media-player
94 )
95
96 FOREACH(flag ${pkgs_CFLAGS})
97         SET(EXTRA_FLAGS "${EXTRA_FLAGS} ${flag}")
98 ENDFOREACH(flag)
99
100 ADD_DEFINITIONS("-DUG_MODULE_API=__attribute__ \(\(visibility\(\"default\"\)\)\)")
101 ADD_DEFINITIONS("-DPACKAGE=\"${PROJECT_NAME}\"")
102
103 #ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
104 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
105 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
106 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
107 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS ${EXTRA_FLAGS})
108
109 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
110
111 TARGET_LINK_LIBRARIES(${PROJECT_NAME}
112         ${pkgs_LDFLAGS} ${armpkgs_LDFLAGS}
113         "-ldl"
114         ivug_common ivug_widget ivug_medialist ivug_slideshow
115 )
116
117 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
118
119 SET(THEME_FOLDER images/theme)
120 SET(THEME white)
121
122 # Build edc files
123 BUILD_EDJ(ivug-base.edc                         ivug-base.edj                   layout          images)
124 BUILD_EDJ(ivug-main.edc                         ivug-main.edj                   layout          images)
125 BUILD_EDJ(ivug-effect.edc                       ivug-effect.edj                 layout          images)
126 BUILD_EDJ(ivug-details.edc                      ivug-details.edj                layout          images)
127 BUILD_EDJ(ivug-selectioninfo.edc        ivug-selectioninfo.edj  layout          images)
128 BUILD_EDJ(ivug-popup.edc                        ivug-popup.edj                  layout          images)
129 BUILD_EDJ(ivug-crop-view.edc            ivug-crop-view.edj              layout          crop-view)
130 BUILD_EDJ(ivug-icons.edc                        ivug-icons.edj                  layout          icons)
131 BUILD_EDJ(ivug-slider.edc                       ivug-slider.edj                 layout          icons)
132 BUILD_EDJ(ivug-gengrid.edc                      ivug-gengrid.edj                layout          gengrid)
133
134 BUILD_EDJ(ivug-setas.edc                        ivug-setas.edj                  layout          ${THEME_FOLDER}/${THEME})
135 BUILD_EDJ(ivug-naviframe.edc            ivug-naviframe.edj              layout          ${THEME_FOLDER}/${THEME})
136 BUILD_EDJ(ivug-name-view.edc            ivug-name-view.edj              layout          ${THEME_FOLDER}/${THEME})
137 BUILD_EDJ(ivug-slideshow-view.edc       ivug-slideshow-view.edj layout          ${THEME_FOLDER}/${THEME})
138 BUILD_EDJ(ivug-genlist.edc                      ivug-genlist.edj                layout/genlist  ../${THEME_FOLDER}/${THEME})
139
140
141 # Install image files.
142 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/images/ DESTINATION ${CMAKE_INSTALL_PREFIX}/res/images/${PROJECT_NAME})
143
144 #
145 INSTALL(DIRECTORY DESTINATION ${CMAKE_DATA_DIR}/${PROJECT_NAME})
146
147
148