Fix the bundle_export_to_argv API
[platform/core/base/bundle.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(bundle C)
3
4 IF("${VERSION}" STREQUAL "")
5         MESSAGE(FATAL_ERROR "VERSION is not defined")
6 ENDIF()
7 STRING(REGEX MATCH "^[0-9]+" VERSION_MAJOR ${VERSION})
8 IF("${VERSION_MAJOR}" STREQUAL "")
9         MESSAGE(FATAL_ERROR "can't get VERSION_MAJOR")
10 ENDIF()
11
12 ### Required packages
13 INCLUDE(FindPkgConfig)
14 pkg_check_modules(pkgs REQUIRED glib-2.0 dlog capi-base-common json-glib-1.0)
15 FOREACH(flag ${pkgs_CFLAGS})
16         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
17 ENDFOREACH(flag)
18
19 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=hidden -flto")
20
21 ### Local include directories
22 include_directories(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/src)
23
24 ### Build
25 add_library(bundle SHARED
26                 src/bundle.c
27                 src/bundle_json.c
28                 src/keyval_type.c
29                 src/keyval.c
30                 src/keyval_array.c
31                 )
32 set_target_properties(bundle PROPERTIES SOVERSION ${VERSION_MAJOR})
33 set_target_properties(bundle PROPERTIES VERSION "${VERSION}")
34 message(STATUS "Version from debian/changelog: ${VERSION},  Major version: ${VERSION_MAJOR}")
35 target_link_libraries(bundle ${pkgs_LDFLAGS})
36
37
38 ### Make pkgconfig file
39 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
40 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/bundle.pc.in ${CMAKE_BINARY_DIR}/bundle.pc @ONLY)
41
42
43 ### Install
44 install(TARGETS bundle
45     DESTINATION ${LIB_INSTALL_DIR}
46         )
47 install(FILES
48         ${CMAKE_SOURCE_DIR}/include/bundle.h
49         ${CMAKE_SOURCE_DIR}/include/bundle_internal.h
50         ${CMAKE_SOURCE_DIR}/include/SLP_bundle_PG.h
51         DESTINATION include/
52                 )
53 install(FILES ${CMAKE_BINARY_DIR}/bundle.pc
54     DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/
55                 )