a20b7ddf2c81fc7900b6eb8b5ccf28e115aee253
[platform/framework/web/download-provider.git] / provider-interface / CMakeLists.txt
1
2 ## PROJECT NAME
3 PROJECT(download-provider-interface C)
4 SET(PACKAGE_DESCRIPTION "Interface supported by download-provider")
5
6 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
7         SET(CMAKE_BUILD_TYPE "Release")
8 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
9 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
10
11 SET(PC_REQUIRED "glib-2.0 gobject-2.0 dlog capi-base-common capi-appfw-app-manager capi-appfw-application bundle storage")
12
13 INCLUDE(FindPkgConfig)
14
15 pkg_check_modules(provider_interface_pkgs REQUIRED ${PC_REQUIRED})
16
17 FOREACH(flag ${provider_interface_pkgs_CFLAGS})
18         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
19 ENDFOREACH(flag)
20
21 ## INCLUDES
22 INCLUDE_DIRECTORIES(
23         ${CMAKE_CURRENT_SOURCE_DIR}/include
24         ${CMAKE_SOURCE_DIR}/provider/include)
25
26 SET(PROVIDER_INTERFACE_LINK_LIBRARIES
27                 ${GLIB-2_LIBRARIES}
28                 ${GOBJECT-2_LIBRARIES}
29                 pthread
30         )
31
32 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -Werror -fvisibility=hidden")
33 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g -fPIE")
34 SET(CMAKE_C_FLAGS_RELEASE "-O2 -fPIE")
35
36 ADD_DEFINITIONS(-DDOWNLOAD_PROVIDER_LOG_TAG=\"DOWNLOAD_PROVIDER_INTERFACE\")
37
38 ADD_LIBRARY(${PROJECT_NAME} SHARED
39         ${CMAKE_SOURCE_DIR}/provider/download-provider-utils.c
40         ${CMAKE_SOURCE_DIR}/provider/download-provider-ipc.c
41         ${CMAKE_SOURCE_DIR}/provider/download-provider-pthread.c
42         ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.c )
43 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${provider_interface_pkgs_LDFLAGS} ${PROVIDER_INTERFACE_LINK_LIBRARIES})
44 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${PKG_VERSION})
45 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0)
46
47 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
48 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/${PROJECT_NAME}.h DESTINATION ${INCLUDE_INSTALL_DIR}/${PKG_NAME})
49 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
50 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)