8939fda869c809ef9f026ae43e2c3c4e4718dccb
[platform/framework/web/download-provider.git] / cache / CMakeLists.txt
1 PROJECT(cacheagent 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 #CA 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_CA
22         ${SRCS_PATH}/cache-agent-interface.c
23         ${SRCS_PATH}/cache-agent-storage.c
24         ${SRCS_PATH}/cache-agent-config.c
25 )
26
27 SET(HEADERS
28         include/cache-agent-defs.h
29         include/cache-agent-interface.h
30 )
31
32 INCLUDE(FindPkgConfig)
33
34 pkg_check_modules(subpkgs REQUIRED
35         xdgmime
36         vconf
37         dlog
38         storage
39 )
40
41 IF(SUPPORT_LARGE_FILE)
42         MESSAGE("Large file:On")
43         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -D_FILE_OFFSET_BITS=64")
44 ENDIF(SUPPORT_LARGE_FILE)
45
46 FOREACH(flag ${subpkgs_CFLAGS})
47         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
48 ENDFOREACH(flag)
49
50 IF (SUPPORT_OMA_DRM)
51         FOREACH(flag ${drmpkgs_CFLAGS})
52                 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
53         ENDFOREACH(flag)
54         #This is request of DRM Team.
55         ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=64")
56 ENDIF (SUPPORT_OMA_DRM)
57
58 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -Wall -Werror -Werror-implicit-function-declaration")
59 IF (BUILD_GTESTS)
60         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=default")
61 ELSE (BUILD_GTESTS)
62         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=hidden")
63 ENDIF (BUILD_GTESTS)
64 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fPIE")
65 SET(CMAKE_C_FLAGS_RELEASE "-O2 -fPIE")
66
67 ADD_DEFINITIONS("-D_ENABLE_DLOG")
68 #This should be removed when release a target
69
70 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS_CA})
71
72 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${subpkgs_LDFLAGS} ${drmpkgs_LDFLAGS})
73 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION})
74
75 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
76 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/cache-agent-interface.h DESTINATION ${INCLUDE_INSTALL_DIR}/${PKG_NAME})