1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(sensor-hal CXX)
3 INCLUDE(GNUInstallDirs)
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}")
17 # Internal Debugging Options
18 #ADD_DEFINITIONS(-Wall -g -D_DEBUG)
20 INCLUDE(FindPkgConfig)
21 PKG_CHECK_MODULES(hal_pkgs REQUIRED dlog glib-2.0 gio-2.0 gobject-2.0 vconf)
23 FOREACH(flag ${hal_pkgs_LDFLAGS})
24 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
27 FOREACH(flag ${hal_pkgs_CFLAGS})
28 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
31 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
33 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
34 FILE(GLOB SRCS src/*.cpp)
36 IF("${ACCEL}" STREQUAL "ON")
37 FILE(GLOB_RECURSE SRCS ${SRCS} src/accel/*.cpp)
38 ADD_DEFINITIONS(-DENABLE_ACCEL)
41 IF("${PROXIMITY}" STREQUAL "ON")
42 FILE(GLOB_RECURSE SRCS ${SRCS} src/proxi/*.cpp)
43 ADD_DEFINITIONS(-DENABLE_PROXIMITY)
46 IF("${SENSORHUB}" STREQUAL "ON")
47 FILE(GLOB_RECURSE SRCS ${SRCS} src/sensorhub/*.cpp)
48 ADD_DEFINITIONS(-DENABLE_SENSORHUB)
51 MESSAGE("Sources: ${SRCS}")
52 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
53 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${hal_pkgs_LDFLAGS})
55 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensor)