2 # Copyright (c) Samsung Electronics Co., Ltd.
6 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
7 PROJECT(download-manager C CXX)
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
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")
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}")
44 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include)
46 INCLUDE(FindPkgConfig)
47 pkg_check_modules(pkgs REQUIRED
49 capi-system-runtime-info
50 capi-appfw-application
51 capi-network-connection
52 capi-content-media-content
63 FIND_LIBRARY(LIB_DL dl)
65 FIND_PROGRAM(UNAME NAMES uname)
66 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
68 FOREACH(flag ${pkgs_CFLAGS})
69 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
71 FOREACH(flag ${pkgs_include_CFLAGS})
72 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
75 MESSAGE("ARCH: ${ARCH}")
76 MESSAGE("LIB_DL: ${LIB_DL}")
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")
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.*")
90 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -Wl,--hash-style=both")
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}\"")
105 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
106 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${LIB_DL})
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)
115 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
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})