halapi: Add new backend_module_name information
[platform/hal/api/common.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(hal-api-common)
3
4 SET(VERSION_MAJOR 0)
5 SET(VERSION "${VERSION_MAJOR}.1.0")
6
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8 SET(EXEC_PREFIX "${PREFIX}/bin")
9 SET(INCLUDEDIR "${PREFIX}/include")
10 SET(LIBDIR ${CMAKE_LIBDIR_PREFIX})
11
12 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
13 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
14
15 SET(PKG_MODULES
16         dlog
17         gio-2.0
18         glib-2.0
19         json-c
20         libtzplatform-config
21 )
22
23 INCLUDE(FindPkgConfig)
24 pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
25
26 FOREACH(flag ${pkgs_CFLAGS})
27         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
28 ENDFOREACH(flag)
29
30 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -fPIC")
31 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
32 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lrt")
33 SET(CMAKE_EXE_LINKER_FLAGS "-pie")
34
35 ADD_DEFINITIONS("-DLOG_TAG=\"HALAPI_COMMON\"")
36
37 SET(SRCS
38         src/hal-api-common.c
39         src/hal-api-conf.c)
40
41 ADD_LIBRARY( ${PROJECT_NAME} SHARED ${SRCS})
42 TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl -Wl,-z,nodelete,--no-undefined)
43 SET_TARGET_PROPERTIES( ${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
44 SET_TARGET_PROPERTIES( ${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
45
46 CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/packaging/${PROJECT_NAME}.pc.in
47         ${CMAKE_CURRENT_SOURCE_DIR}/packaging/${PROJECT_NAME}.pc
48         @ONLY)
49 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR}/hal)
50 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
51         DESTINATION ${INCLUDEDIR}/hal
52         FILES_MATCHING PATTERN "*.h")
53 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/${PROJECT_NAME}.pc
54         DESTINATION ${LIBDIR}/pkgconfig)
55
56 ADD_SUBDIRECTORY(tests)