add display language set
[apps/web/download-manager.git] / CMakeLists.txt
1 #
2 # Copyright (c) Samsung Electronics Co., Ltd.
3 # All rights reserved.
4 #
5
6 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
7 PROJECT(download-manager C CXX)
8
9 SET(SRCS
10         src/main.cpp
11         src/download-manager-event.cpp
12         src/download-manager-network.cpp
13         src/download-manager-view.cpp
14         src/download-manager-viewItem.cpp
15         src/download-manager-items.cpp
16         src/download-manager-item.cpp
17         src/download-manager-downloadItem.cpp
18         src/download-manager-downloadRequest.cpp
19         src/download-manager-util.cpp
20         src/download-manager-history-db.cpp
21         src/download-manager-dateTime.cpp
22         src/download-manager-network.cpp
23 )
24
25 SET(VENDOR "tizen")
26 SET(PACKAGE ${PROJECT_NAME})
27 SET(PKGNAME "org.${VENDOR}.${PACKAGE}")
28 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
29 SET(BINDIR "${PREFIX}/bin")
30 SET(RESDIR "${PREFIX}/res")
31 SET(IMAGEDIR "${RESDIR}/images")
32 SET(DATADIR "${PREFIX}/data")
33 SET(DBDATADIR "${PREFIX}/data/db")
34 SET(LOCALEDIR "${RESDIR}/locale")
35 SET(ICONDIR "/opt/share/icons/default/small/")
36 SET(HISTORYDB ".download-history.db")
37 SET(EDJE_DIR "${RESDIR}/edje")
38
39 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
40         SET(CMAKE_BUILD_TYPE "Release")
41 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
42 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
43
44 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include)
45
46 INCLUDE(FindPkgConfig)
47 pkg_check_modules(pkgs REQUIRED
48         capi-web-url-download
49         capi-system-runtime-info
50         capi-appfw-application
51         capi-network-connection
52         capi-content-media-content
53         elementary
54         aul
55         bundle
56         ecore
57         edje
58         icu-i18n
59         xdgmime
60         edje
61  )
62
63 FIND_LIBRARY(LIB_DL dl)
64
65 FIND_PROGRAM(UNAME NAMES uname)
66 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
67
68 FOREACH(flag ${pkgs_CFLAGS})
69         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
70 ENDFOREACH(flag)
71 FOREACH(flag ${pkgs_include_CFLAGS})
72         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
73 ENDFOREACH(flag)
74
75 MESSAGE("ARCH: ${ARCH}")
76 MESSAGE("LIB_DL: ${LIB_DL}")
77
78 SET(CMAKE_C_FLAGS "${INC_FLAGS}${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall")
79 SET(CMAKE_CXX_FLAGS "${INC_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -Wall")
80 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -Wall")
81 SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
82
83 IF("${ARCH}" MATCHES "^arm.*")
84         ADD_DEFINITIONS("-DTARGET")
85     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpie")
86     SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -mabi=aapcs-linux -mfpu=vfp -mfloat-abi=softfp")
87     SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
88 ENDIF("${ARCH}" MATCHES "^arm.*")
89
90 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -Wl,--hash-style=both")
91
92 ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
93 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
94 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
95 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
96 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
97 ADD_DEFINITIONS("-DIMAGEDIR=\"${IMAGEDIR}\"")
98 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
99 ADD_DEFINITIONS("-DDBDATADIR=\"${DBDATADIR}\"")
100 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
101 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
102 ADD_DEFINITIONS("-DHISTORYDB=\"${HISTORYDB}\"")
103 ADD_DEFINITIONS("-DEDJE_DIR=\"${EDJE_DIR}\"")
104
105 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
106 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${LIB_DL})
107
108 ADD_CUSTOM_TARGET(download-manager.edj
109         COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images
110         ${CMAKE_SOURCE_DIR}/res/download-manager.edc
111         ${CMAKE_BINARY_DIR}/res/download-manager.edj
112         DEPENDS ${CMAKE_SOURCE_DIR}/res/download-manager.edc)
113 ADD_DEPENDENCIES(${PROJECT_NAME} download-manager.edj)
114
115 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
116
117 INSTALL(DIRECTORY DESTINATION ${DATADIR})
118 INSTALL(DIRECTORY DESTINATION ${DBDATADIR})
119 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/${PKGNAME}.xml DESTINATION /opt/share/packages)
120 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images DESTINATION ${RESDIR})
121 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/download-manager.edj DESTINATION ${EDJE_DIR})
122
123 # i18n
124 ADD_SUBDIRECTORY(po)
125