The download UI application is added.
[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
38 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
39         SET(CMAKE_BUILD_TYPE "Release")
40 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
41 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
42
43 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include)
44
45 INCLUDE(FindPkgConfig)
46 pkg_check_modules(pkgs REQUIRED
47         capi-web-url-download
48         capi-system-runtime-info
49         capi-appfw-application
50         capi-network-connection
51         capi-content-media-content
52         elementary
53         aul
54         bundle
55         ecore
56         edje
57         icu-i18n
58         xdgmime
59  )
60
61 FIND_LIBRARY(LIB_DL dl)
62
63 FIND_PROGRAM(UNAME NAMES uname)
64 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
65
66 FOREACH(flag ${pkgs_CFLAGS})
67         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
68 ENDFOREACH(flag)
69 FOREACH(flag ${pkgs_include_CFLAGS})
70         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
71 ENDFOREACH(flag)
72
73 MESSAGE("ARCH: ${ARCH}")
74 MESSAGE("LIB_DL: ${LIB_DL}")
75
76 SET(CMAKE_C_FLAGS "${INC_FLAGS}${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall")
77 SET(CMAKE_CXX_FLAGS "${INC_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -Wall")
78 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -Wall")
79 SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
80
81 IF("${ARCH}" MATCHES "^arm.*")
82         ADD_DEFINITIONS("-DTARGET")
83     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpie")
84     SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -mabi=aapcs-linux -mfpu=vfp -mfloat-abi=softfp")
85     SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
86 ENDIF("${ARCH}" MATCHES "^arm.*")
87
88 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -Wl,--hash-style=both")
89
90 ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
91 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
92 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
93 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
94 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
95 ADD_DEFINITIONS("-DIMAGEDIR=\"${IMAGEDIR}\"")
96 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
97 ADD_DEFINITIONS("-DDBDATADIR=\"${DBDATADIR}\"")
98 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
99 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
100 ADD_DEFINITIONS("-DHISTORYDB=\"${HISTORYDB}\"")
101
102 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
103 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${LIB_DL})
104
105 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
106
107 INSTALL(DIRECTORY DESTINATION ${DATADIR})
108 INSTALL(DIRECTORY DESTINATION ${DBDATADIR})
109 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/${PKGNAME}.xml DESTINATION /opt/share/packages)
110 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images DESTINATION ${RESDIR})
111
112 # i18n
113 ADD_SUBDIRECTORY(po)
114