Check return value
[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 aux_source_directory(src SRCS)
26 add_library(bundle SHARED ${SRCS})
27 set_target_properties(bundle PROPERTIES SOVERSION ${VERSION_MAJOR})
28 set_target_properties(bundle PROPERTIES VERSION "${VERSION}")
29 message(STATUS "Version from debian/changelog: ${VERSION},  Major version: ${VERSION_MAJOR}")
30 target_link_libraries(bundle ${pkgs_LDFLAGS})
31
32
33 ### Make pkgconfig file
34 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
35 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/bundle.pc.in ${CMAKE_BINARY_DIR}/bundle.pc @ONLY)
36
37 ### Install
38 install(TARGETS bundle DESTINATION ${LIB_INSTALL_DIR})
39 install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/)
40 install(FILES ${CMAKE_BINARY_DIR}/bundle.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/)