a71efe4f598029e755d5e5ccfd7532ac75d68e53
[platform/core/api/sensor.git] / src / api / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(capi-system-sensor)
3 INCLUDE(GNUInstallDirs)
4
5 SET(DEPENDENTS "dlog glib-2.0 hal-api-sensor capi-base-common")
6
7 IF("${SENSOR_RECORDER}" STREQUAL "on")
8         SET(DEPENDENTS "${DEPENDENTS} context-sensor-recorder-client")
9 ENDIF()
10
11 SET(VERSION ${FULLVER})
12 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
13
14 SET(PC_NAME ${PROJECT_NAME})
15 SET(PC_DESCRIPTION "Sensor C-API library")
16 SET(PC_INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/sensor")
17 SET(PC_DEPENDENTS "${DEPENDENTS}")
18 SET(PC_LIBDIR "${CMAKE_INSTALL_LIBDIR}")
19 SET(PC_LDFLAGS "-l${PROJECT_NAME}")
20
21 INCLUDE_DIRECTORIES(
22         ${CMAKE_SOURCE_DIR}/src/shared
23         ${CMAKE_CURRENT_SOURCE_DIR}
24 )
25
26 # Build options
27 INCLUDE(FindPkgConfig)
28 PKG_CHECK_MODULES(${PROJECT_NAME} REQUIRED ${DEPENDENTS})
29
30 FOREACH(flag ${${PROJECT_NAME}_CFLAGS})
31     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
32 ENDFOREACH(flag)
33
34 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIC -Wall -g -fdump-rtl-expand")
35 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIC -std=c++0x")
36 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color")
37 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
38 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${LIB_INSTALL_DIR}")
39
40 # Internal Logging Option
41 #ADD_DEFINITIONS("-DTIZEN_DEBUG")
42
43 # Compile Source files
44 SET(SOURCES
45                         fusion-util.c
46                         geomagnetic-field.c
47                         api-sensor.cpp
48                         api-sensor-internal.cpp
49                         api-sensor-provider.cpp
50                         sensor-listener.cpp
51                         sensor-manager-channel-handler.cpp
52                         sensor-manager.cpp
53                         sensor-provider-channel-handler.cpp
54                         sensor-provider.cpp
55                         sensor-reader.cpp)
56
57 IF("${SENSOR_RECORDER}" STREQUAL "on")
58         SET(SOURCES ${SOURCES} api-sensor-recorder.cpp)
59 ELSE()
60         SET(SOURCES ${SOURCES} api-sensor-recorder-dummy.cpp)
61 ENDIF()
62
63 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SOURCES})
64
65 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${${PROJECT_NAME}_LDFLAGS} "sensor-shared")
66 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${FULLVER} SOVERSION ${MAJORVER} CLEAN_DIRECT_OUTPUT 1)
67 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc @ONLY)
68 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
69 INSTALL(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})