initial upload
[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.c
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-name-view.c
22         src/view/ivug-details-view.c
23         src/view/ivug-crop-view.cpp
24
25 # SetAs View
26         src/view/ivug-setas-view.c
27         src/view/ivug-setas-view-wallpaper.cpp
28         src/view/ivug-setas-view-callerid.cpp
29
30 # Slider
31         src/slider/ivug-slider.cpp
32         src/slider/ivug-slider-item.cpp
33         src/slider/ivug-slider-mouse.cpp
34
35 # Control related
36         src/control/ivug-parameter.c
37         src/control/ivug-context.c
38         src/control/ivug-filter.c
39         src/control/ivug-detail-info.c
40         src/control/ivug-setas.cpp
41         src/control/ivug-crop-ug.cpp
42         src/control/ivug-widget.c
43         src/control/ivug-selectioninfo.c
44         src/control/ivug-popup.c
45 )
46
47 # message("System = ${CMAKE_SYSTEM_VERSION}")
48
49 INCLUDE_DIRECTORIES(
50         ${CMAKE_SOURCE_DIR}/include
51         ${IVUG_SOURCE_WIDGET_DIR}/include
52         ${IVUG_SOURCE_COMMON_DIR}/include
53         ${IVUG_SOURCE_MEDIA_DIR}/include
54         src
55         src/include
56         src/control
57         ${IVUG_SOURCE_FEATURE_DIR}/include
58         ${IVUG_SOURCE_SLIDESHOW_DIR}/include
59
60 # Below include directory should be removed for make module more indepentatly
61         ${IVUG_SOURCE_SLIDESHOW_DIR}/src/effect/include
62 )
63
64 MESSAGE("Checking " ${PROJECT_NAME}\r)
65
66 INCLUDE(FindPkgConfig)
67 pkg_check_modules(pkgs REQUIRED
68         elementary
69         edje
70         evas
71         eina
72         dlog
73         ecore
74         ecore-file
75         ecore-imf
76         ecore-x
77         ecore-input
78         ecore-evas
79         utilX
80         ui-gadget-1
81         drm-client
82         icu-i18n
83         glib-2.0
84         vconf
85         capi-appfw-application
86         capi-appfw-app-manager
87         capi-system-runtime-info
88 )
89
90
91 FOREACH(flag ${pkgs_CFLAGS})
92         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
93 ENDFOREACH(flag)
94
95 #if("${CMAKE_SYSTEM_VERSION}" STREQUAL "arm")
96 #       pkg_check_modules(armpkgs REQUIRED
97 #       )
98 #
99 #       FOREACH(flag ${armpkgs_CFLAGS})
100 #               SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
101 #       ENDFOREACH(flag)
102 #
103 #endif()
104
105 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
106 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
107
108 message("CFLAGS="${CMAKE_C_FLAGS})
109 message("CXXFLAGS="${CMAKE_CXX_FLAGS})
110 message("LDFLAGS="${LDFLAGS})
111 message("LDFLAGS1="${pkgs_LDFLAGS})
112
113 ADD_DEFINITIONS("-DUG_MODULE_API=__attribute__ \(\(visibility\(\"default\"\)\)\)")
114 ADD_DEFINITIONS("-DPACKAGE=\"${PROJECT_NAME}\"")
115
116 #ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
117 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
118 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
119 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
120
121 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
122
123 TARGET_LINK_LIBRARIES(${PROJECT_NAME}
124         ${pkgs_LDFLAGS} ${armpkgs_LDFLAGS}
125         "-ldl"
126         ivug_common ivug_widget ivug_medialist ivug_slideshow
127 )
128
129 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
130
131 SET(THEME_FOLDER images/theme)
132 SET(THEME white)
133
134 # Build edc files
135 BUILD_EDJ(ivug-base.edc                         ivug-base.edj                   layout          images)
136 BUILD_EDJ(ivug-main.edc                         ivug-main.edj                   layout          images)
137 BUILD_EDJ(ivug-effect.edc                       ivug-effect.edj                 layout          images)
138 BUILD_EDJ(ivug-details.edc                      ivug-details.edj                layout          images)
139 BUILD_EDJ(ivug-selectioninfo.edc        ivug-selectioninfo.edj  layout          images)
140 BUILD_EDJ(ivug-popup.edc                        ivug-popup.edj                  layout          images)
141 BUILD_EDJ(ivug-crop-view.edc            ivug-crop-view.edj              layout          crop-view)
142 BUILD_EDJ(ivug-icons.edc                        ivug-icons.edj                  layout          icons)
143 BUILD_EDJ(ivug-slider.edc                       ivug-slider.edj                 layout          icons)
144 BUILD_EDJ(ivug-gengrid.edc                      ivug-gengrid.edj                layout          gengrid)
145
146 BUILD_EDJ(ivug-setas.edc                        ivug-setas.edj                  layout          ${THEME_FOLDER}/${THEME})
147 BUILD_EDJ(ivug-naviframe.edc            ivug-naviframe.edj              layout          ${THEME_FOLDER}/${THEME})
148 BUILD_EDJ(ivug-name-view.edc            ivug-name-view.edj              layout          ${THEME_FOLDER}/${THEME})
149 BUILD_EDJ(ivug-genlist.edc                      ivug-genlist.edj                layout/genlist  ../${THEME_FOLDER}/${THEME})
150
151
152 # Install image files.
153 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/images/ DESTINATION ${CMAKE_INSTALL_PREFIX}/res/images/${PROJECT_NAME})
154
155 #
156 INSTALL(DIRECTORY DESTINATION ${CMAKE_DATA_DIR}/${PROJECT_NAME})
157
158 # i18n
159 ADD_SUBDIRECTORY(res/po)
160
161