5 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
6 SET(CMAKE_BUILD_TYPE "Release")
7 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
8 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
10 INCLUDE(FindPkgConfig)
12 pkg_check_modules(dp2_pkgs REQUIRED glib-2.0
15 capi-appfw-app-manager
16 capi-network-connection
17 capi-content-mime-type
31 FOREACH(flag ${dp2_pkgs_CFLAGS})
32 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
35 IF(SUPPORT_WIFI_DIRECT)
36 MESSAGE("WIFI direct:On")
37 pkg_check_modules(dp2_wifi_direct_pkgs REQUIRED
38 capi-network-wifi-direct)
39 FOREACH(flag ${dp2_wifi_direct_pkgs_CFLAGS})
40 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
42 ELSE (SUPPORT_WIFI_DIRECT)
43 MESSAGE("WIFI direct:Off")
44 ENDIF(SUPPORT_WIFI_DIRECT)
46 IF(SUPPORT_NOTIFICATION)
47 MESSAGE("Notification:On")
48 pkg_check_modules(dp2_noti_pkgs REQUIRED
50 FOREACH(flag ${dp2_noti_pkgs_CFLAGS})
51 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
53 ADD_DEFINITIONS(-DSUPPORT_NOTIFICATION)
54 ELSE (SUPPORT_NOTIFICATION)
55 MESSAGE("Notification:Off")
56 ENDIF(SUPPORT_NOTIFICATION)
58 IF(SUPPORT_COMPANION_MODE)
59 MESSAGE("Companion:On")
60 pkg_check_modules(dp2_companion_pkgs REQUIRED
62 FOREACH(flag ${dp2_companion_pkgs_CFLAGS})
63 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
65 ADD_DEFINITIONS(-DSUPPORT_COMPANION_MODE)
66 ELSE (SUPPORT_COMPANION_MODE)
67 MESSAGE("Companion:Off")
68 ENDIF(SUPPORT_COMPANION_MODE)
70 IF(SUPPORT_LARGE_FILE)
71 MESSAGE("Large file:On")
72 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -D_FILE_OFFSET_BITS=64")
73 ENDIF(SUPPORT_LARGE_FILE)
76 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/agent/include)
78 set(DP2_LINK_LIBRARIES ${GLIB-2_LIBRARIES}
79 ${GOBJECT-2_LIBRARIES}
81 capi-appfw-app-manager
84 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -Wall -Werror -Werror-implicit-function-declaration")
86 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=default")
88 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=hidden")
91 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g -fPIE")
92 SET(CMAKE_C_FLAGS_RELEASE "-O2 -fPIE")
95 ADD_DEFINITIONS(-DIMAGE_DIR=\"${IMAGE_DIR}\")
96 ENDIF(DEFINED IMAGE_DIR)
98 IF(DEFINED PROVIDER_DIR)
99 ADD_DEFINITIONS(-DPROVIDER_DIR=\"${PROVIDER_DIR}\")
100 ENDIF(DEFINED PROVIDER_DIR)
102 IF(DEFINED DATABASE_CLIENT_DIR)
103 ADD_DEFINITIONS(-DDATABASE_CLIENT_DIR=\"${DATABASE_CLIENT_DIR}\")
104 ENDIF(DEFINED DATABASE_CLIENT_DIR)
106 IF(DEFINED DATABASE_DIR)
107 ADD_DEFINITIONS(-DDATABASE_DIR=\"${DATABASE_DIR}\")
108 ENDIF(DEFINED DATABASE_DIR)
110 IF(DEFINED LOCALE_DIR)
111 ADD_DEFINITIONS(-DPKG_NAME=\"${PKG_NAME}\")
112 ADD_DEFINITIONS(-DLOCALE_DIR=\"${LOCALE_DIR}\")
113 ENDIF(DEFINED LOCALE_DIR)
115 ADD_DEFINITIONS(-DDOWNLOAD_PROVIDER_LOG_TAG=\"DOWNLOAD_PROVIDER\")
117 ADD_EXECUTABLE(${PROJECT_NAME}
118 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-pthread.c
119 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-ipc.c
120 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-utils.c
121 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-notify.c
122 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-security.c
123 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-network.c
124 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-db.c
125 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-plugin-download-agent.c
126 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-queue.c
127 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-queue-manager.c
128 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-client.c
129 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-client-manager.c
130 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-notification.c
131 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-notification-manager.c
132 ${CMAKE_CURRENT_SOURCE_DIR}/download-provider-main.c )
133 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${dp2_pkgs_LDFLAGS} ${DP2_LINK_LIBRARIES} ${dp2_noti_pkgs_LDFLAGS} ${dp2_companion_pkgs_LDFLAGS} ${dp2_wifi_direct_pkgs_LDFLAGS} ${dp2_security_privilege_pkgs_LDFLAGS} -ldl -pie)
134 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BIN_INSTALL_DIR})
136 INSTALL(FILES include/download-provider.h DESTINATION ${INCLUDE_INSTALL_DIR}/${PKG_NAME})