Add exception when getting extension name from url
[platform/framework/web/download-provider.git] / agent / CMakeLists.txt
1 PROJECT(downloadagent2 C)
2
3 SET(VERSION "0.1.0")
4
5 FIND_PROGRAM(UNAME NAMES uname)
6 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
7 IF("${ARCH}" MATCHES "^arm.*")
8         ADD_DEFINITIONS("-D_TARGET")
9         SET(CMAKE_C_FLAGS_RELEASE "-mabi=aapcs-linux -msoft-float -O2")
10 ENDIF("${ARCH}" MATCHES "^arm.*")
11
12 #DA Engine Include Directory
13 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/provider/include)
14
15 SET(SRCS_PATH ".")
16 SET(SRCS_DA
17         ${SRCS_PATH}/download-agent-interface.c
18         ${SRCS_PATH}/download-agent-client-mgr.c
19         ${SRCS_PATH}/download-agent-dl-mgr.c
20         ${SRCS_PATH}/download-agent-dl-info.c
21         ${SRCS_PATH}/download-agent-http-mgr.c
22         ${SRCS_PATH}/download-agent-http-msg-handler.c
23         ${SRCS_PATH}/download-agent-encoding.c
24         ${SRCS_PATH}/download-agent-file.c
25         ${SRCS_PATH}/download-agent-plugin-conf.c
26         ${SRCS_PATH}/download-agent-mime-util.c
27 )
28
29 SET(HEADERS
30         include/download-agent-defs.h
31         include/download-agent-interface.h
32 )
33
34 INCLUDE(FindPkgConfig)
35
36 pkg_check_modules(subpkgs REQUIRED
37         xdgmime
38         vconf
39         capi-network-connection
40         dlog
41         storage
42         tpkp-curl
43 )
44
45 IF ("${HTTP_LIB}" MATCHES "libcurl")
46         MESSAGE("HTTP_LIB: ${HTTP_LIB}")
47         pkg_check_modules(httppkgs REQUIRED
48                 libcurl
49         )
50         LIST(APPEND SRCS_DA
51         ${SRCS_PATH}/download-agent-plugin-libcurl.c
52         )
53 ENDIF ("${HTTP_LIB}" MATCHES "libcurl")
54
55 IF (SUPPORT_OMA_DRM)
56         MESSAGE("SUPPORT_OMA_DRM: ${SUPPORT_OMA_DRM}")
57         ADD_DEFINITIONS("-D_ENABLE_OMA_DRM")
58         LIST(APPEND SRCS_DA
59                 ${SRCS_PATH}/download-agent-plugin-drm.c
60         )
61         pkg_check_modules(drmpkgs REQUIRED
62                 drm-client
63                 drm-trusted
64         )
65 ENDIF (SUPPORT_OMA_DRM)
66
67 IF (SUPPORT_DOWNLOAD_BOOSTER)
68         MESSAGE("SUPPORT_DOWNLOAD_BOOSTER:${SUPPORT_DOWNLOAD_BOOSTER}")
69         ADD_DEFINITIONS("-D_RAF_SUPPORT")
70         ADD_DEFINITIONS("-D_DOWNLOAD_BOOSTER_SUPPORT")
71 ENDIF (SUPPORT_DOWNLOAD_BOOSTER)
72
73 FOREACH(flag ${subpkgs_CFLAGS})
74         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
75 ENDFOREACH(flag)
76
77 FOREACH(flag ${httppkgs_CFLAGS})
78         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
79 ENDFOREACH(flag)
80
81 IF (SUPPORT_OMA_DRM)
82         FOREACH(flag ${drmpkgs_CFLAGS})
83                 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
84         ENDFOREACH(flag)
85         #This is request of DRM Team.
86         ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=64")
87 ENDIF (SUPPORT_OMA_DRM)
88
89 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
90 SET(CMAKE_C_FLAGS_DEBUG "-O0 -Wall")
91
92 ADD_DEFINITIONS("-D_ENABLE_DLOG")
93 #This should be removed when release a target
94 ADD_DEFINITIONS("-D_SAMSUNG_MIME_POLICY")
95
96 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS_DA})
97
98 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${subpkgs_LDFLAGS} ${httppkgs_LDFLAGS} ${drmpkgs_LDFLAGS})
99 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION})
100
101 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)