sensor-hal-tm1: version 1.0.1
[platform/hal/backend/tm1/sensor-tm1.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(sensor-hal CXX)
3 INCLUDE(GNUInstallDirs)
4
5
6 SET(ACCEL "ON")
7 SET(PROXIMITY "ON")
8 SET(SENSORHUB "OFF")
9
10 # Common Options
11 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2 -omit-frame-pointer -std=gnu++0x")
12 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -ffunction-sections")
13 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-section -Wl,--print-gc-section")
14 MESSAGE("FLAGS: ${CMAKE_CXX_FLAGS}")
15 MESSAGE("FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
16
17 # Internal Debugging Options
18 #ADD_DEFINITIONS(-Wall -g -D_DEBUG)
19
20 INCLUDE(FindPkgConfig)
21 PKG_CHECK_MODULES(hal_pkgs REQUIRED dlog glib-2.0 gio-2.0 gobject-2.0 vconf)
22
23 FOREACH(flag ${hal_pkgs_LDFLAGS})
24         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
25 ENDFOREACH(flag)
26
27 FOREACH(flag ${hal_pkgs_CFLAGS})
28         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
29 ENDFOREACH(flag)
30
31 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
32
33 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
34 FILE(GLOB SRCS src/*.cpp)
35
36 IF("${ACCEL}" STREQUAL "ON")
37 FILE(GLOB_RECURSE SRCS ${SRCS} src/accel/*.cpp)
38 ADD_DEFINITIONS(-DENABLE_ACCEL)
39 ENDIF()
40
41 IF("${PROXIMITY}" STREQUAL "ON")
42 FILE(GLOB_RECURSE SRCS ${SRCS} src/proxi/*.cpp)
43 ADD_DEFINITIONS(-DENABLE_PROXIMITY)
44 ENDIF()
45
46 IF("${SENSORHUB}" STREQUAL "ON")
47 FILE(GLOB_RECURSE SRCS ${SRCS} src/sensorhub/*.cpp)
48 ADD_DEFINITIONS(-DENABLE_SENSORHUB)
49 ENDIF()
50
51 MESSAGE("Sources: ${SRCS}")
52 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
53 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${hal_pkgs_LDFLAGS})
54
55 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensor)