Prevent a corner case and add static keywords
[platform/core/api/sensor.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(capi-system-sensor)
3 INCLUDE(GNUInstallDirs)
4
5 SET(DEPENDENTS "dlog 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(include ${CMAKE_CURRENT_SOURCE_DIR})
22
23 # Build options
24 INCLUDE(FindPkgConfig)
25 PKG_CHECK_MODULES(${PROJECT_NAME} REQUIRED ${DEPENDENTS})
26
27 FOREACH(flag ${${PROJECT_NAME}_CFLAGS})
28     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
29 ENDFOREACH(flag)
30
31 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIC -Wall -Werror -g -fdump-rtl-expand")
32 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++0x")
33 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
34 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${LIB_INSTALL_DIR}")
35
36 # Internal Logging Option
37 #ADD_DEFINITIONS("-DTIZEN_DEBUG")
38
39 # Compile Source files
40 SET(SOURCES src/sensor.cpp
41                         src/sensor_provider.cpp
42                         src/geomagnetic_field.c
43                         src/fusion_util.c)
44
45 IF("${SENSOR_RECORDER}" STREQUAL "on")
46         SET(SOURCES ${SOURCES} src/sensor_recorder.cpp)
47 ELSE()
48         SET(SOURCES ${SOURCES} src/sensor_recorder_dummy.cpp)
49 ENDIF()
50
51 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SOURCES})
52
53 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${${PROJECT_NAME}_LDFLAGS})
54 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${FULLVER} SOVERSION ${MAJORVER} CLEAN_DIRECT_OUTPUT 1)
55 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc @ONLY)
56 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
57 INSTALL(FILES include/sensor.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor)
58 INSTALL(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
59
60 ADD_SUBDIRECTORY(test)