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