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