1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 SET(VERSION "${VERSION_MAJOR}.1.0")
6 PROJECT(ug-image-viewer-efl C CXX)
8 EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
10 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
17 src/common/ivug-config.c
20 src/view/ivug-main-view.c
21 src/view/ivug-setas-view.c
22 src/view/ivug-detail-info.c
23 src/view/ivug-details-view.c
25 src/view/ivug-slider.c
26 src/view/ivug-slider-item.c
27 src/view/ivug-slider-slideshow.c
28 src/view/ivug-slider-mouse.c
31 src/control/ivug-uuid.c
32 src/control/ivug-parameter.c
33 src/control/ivug-ext-ug.c
34 src/control/ivug-main.c
38 src/util/ivug-file-info.c
39 src/util/ivug-widget.c
40 src/util/ivug-listpopup.c
42 # Data & List management
44 src/data/ivug-data-list.c
45 src/data/ivug-data-shuffle.c
46 src/data/ivug-mediadata.c
47 src/data/ivug-data-filter.c
50 src/effect/ivug-effect.c
51 src/effect/ivug-slide.c
52 src/effect/ivug-anim.c
55 # message("System = ${CMAKE_SYSTEM_VERSION}")
58 ${CMAKE_CURRENT_SOURCE_DIR}
59 ${CMAKE_SOURCE_WIDGET_DIR}/include
60 ${CMAKE_SOURCE_COMMON_DIR}/include
71 INCLUDE(FindPkgConfig)
72 pkg_check_modules(pkgs REQUIRED
105 FOREACH(flag ${pkgs_CFLAGS})
106 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
109 if("${CMAKE_SYSTEM_VERSION}" STREQUAL "arm")
110 pkg_check_modules(armpkgs REQUIRED
113 FOREACH(flag ${armpkgs_CFLAGS})
114 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
119 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
120 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
122 #message("CFLAGS="${CMAKE_C_FLAGS})
123 #message("CXXFLAGS="${CMAKE_CXX_FLAGS})
124 #message("LDFLAGS="${LDFLAGS})
126 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
127 ADD_DEFINITIONS("-DUG_MODULE_API=__attribute__ \(\(visibility\(\"default\"\)\)\)")
128 ADD_DEFINITIONS("-DPACKAGE=\"${PROJECT_NAME}\"")
129 ADD_DEFINITIONS("-DDATADIR=\"${CMAKE_DATA_DIR}\"")
130 #ADD_DEFINITIONS("-D_USE_MEDIAINFO_STRINGID_")
132 #ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
133 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
134 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
135 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
137 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
139 TARGET_LINK_LIBRARIES(${PROJECT_NAME}
140 ${pkgs_LDFLAGS} ${armpkgs_LDFLAGS}
145 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
147 FUNCTION (BUILD_EDJ _in _out _base _dir)
148 ADD_CUSTOM_TARGET(${_out}
150 edje_cc -id ${_base}/${_dir}
151 ${CMAKE_CURRENT_SOURCE_DIR}/${_base}/${_in}
152 ${CMAKE_CURRENT_SOURCE_DIR}/${_base}/${_out}
154 ${CMAKE_CURRENT_SOURCE_DIR}/${_base}/${_in}
156 ADD_DEPENDENCIES(${PROJECT_NAME} ${_out})
157 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${_base}/${_out} DESTINATION ${CMAKE_INSTALL_PREFIX}/res/edje/${PROJECT_NAME})
158 ENDFUNCTION (BUILD_EDJ)
162 BUILD_EDJ(ivug-base.edc ivug-base.edj layout images)
163 BUILD_EDJ(ivug-main.edc ivug-main.edj layout images)
164 BUILD_EDJ(ivug-icons.edc ivug-icons.edj layout icons)
165 BUILD_EDJ(ivug-setas.edc ivug-setas.edj layout images)
166 BUILD_EDJ(ivug-naviframe.edc ivug-naviframe.edj layout images/gray-theme)
167 BUILD_EDJ(ivug-toolbar.edc ivug-toolbar.edj layout images/gray-theme)
168 BUILD_EDJ(ivug-button.edc ivug-button.edj layout images/gray-theme)
169 BUILD_EDJ(ivug-effect.edc ivug-effect.edj layout images)
170 BUILD_EDJ(ivug-slider.edc ivug-slider.edj layout icons)
171 BUILD_EDJ(ivug-details.edc ivug-details.edj layout images)
172 BUILD_EDJ(ivug-selectioninfo.edc ivug-selectioninfo.edj layout images)
173 BUILD_EDJ(ivug-genlist.edc ivug-genlist.edj layout/genlist images/gray-theme)
175 # Install image files.
176 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/images/ DESTINATION ${CMAKE_INSTALL_PREFIX}/res/images/${PROJECT_NAME})
179 INSTALL(DIRECTORY DESTINATION ${CMAKE_DATA_DIR}/${PROJECT_NAME})
182 ADD_SUBDIRECTORY(res/po)