Fixed hardcoding of lib path in .pc file
[platform/core/base/bundle.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(bundle C)
3
4 ### Get VERSION from debian/changelog
5 file(STRINGS debian/changelog version_line LIMIT_COUNT 1 REGEX "(.*)")
6 string(REGEX REPLACE ".*\\(\([0-9]+:\)*\([0-9a-zA-Z.]*\).*\\).*" "\\2" VERSION ${version_line})  # Get version
7 string(REGEX REPLACE "^\([0-9]+\)\\..*" "\\1" VERSION_MAJOR ${VERSION})  # Get major version
8 message(STATUS "Version from debian/changelog: ${VERSION},  Major version: ${VERSION_MAJOR}")
9
10 ### Required packages
11 INCLUDE(FindPkgConfig)
12 pkg_check_modules(pkgs REQUIRED glib-2.0 dlog)
13 FOREACH(flag ${pkgs_CFLAGS})
14         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
15 ENDFOREACH(flag)
16
17 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
18
19 ### Local include directories
20 include_directories(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/src)
21
22 ### Build
23 add_library(bundle SHARED 
24                 src/bundle.c
25                 src/keyval_type.c
26                 src/keyval.c
27                 src/keyval_array.c
28                 )
29 set_target_properties(bundle PROPERTIES SOVERSION ${VERSION_MAJOR})
30 set_target_properties(bundle PROPERTIES VERSION ${VERSION})
31 target_link_libraries(bundle ${pkgs_LDFLAGS})
32
33
34 ### Make pkgconfig file
35 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
36 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/bundle.pc.in ${CMAKE_BINARY_DIR}/bundle.pc @ONLY)
37
38
39 ### Install
40 install(TARGETS bundle
41     DESTINATION ${LIB_INSTALL_DIR}
42         )
43 install(FILES 
44         ${CMAKE_SOURCE_DIR}/include/bundle.h 
45         ${CMAKE_SOURCE_DIR}/include/SLP_bundle_PG.h 
46         DESTINATION include/
47                 )
48 install(FILES ${CMAKE_BINARY_DIR}/bundle.pc 
49     DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/
50                 )
51
52
53 ### Test
54 add_subdirectory(test)
55