Squash sensor device and type into interface
[platform/hal/api/sensor.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(hal-api-sensor CXX)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "${CMAKE_INSTALL_PREFIX}/bin")
6 SET(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include")
7 SET(LIBDIR ${CMAKE_LIBDIR_PREFIX})
8 SET(VERSION_MAJOR 0)
9 SET(VERSION "${VERSION_MAJOR}.1.0")
10
11 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
12 SET(EXEC_PREFIX "${PREFIX}/bin")
13 SET(INCLUDEDIR "${PREFIX}/include")
14 SET(LIBDIR ${CMAKE_LIBDIR_PREFIX})
15
16 #######################################################
17 # OUTPUT PATH
18 #######################################################
19 SET(OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/out/)
20 SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/)
21 SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/lib)
22 SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/lib)
23
24 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
25 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
26 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
27
28 SET(PKG_MODULES
29         dlog
30         hal-api-common
31 )
32
33 INCLUDE(FindPkgConfig)
34 pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
35
36 FOREACH(flag ${pkgs_CFLAGS})
37         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
38 ENDFOREACH(flag)
39
40 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -fPIE")
41 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
42 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -lrt")
43 SET(CMAKE_EXE_LINKER_FLAGS "-pie")
44
45 ADD_DEFINITIONS("-DLOG_TAG=\"HALAPI_SENSOR\"")
46
47 SET(SRCS
48         src/hal-api-sensor.cpp)
49
50 ADD_LIBRARY(            ${PROJECT_NAME} SHARED ${SRCS})
51 TARGET_LINK_LIBRARIES(  ${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl -lm -Wl,-z,nodelete,--no-undefined)
52 SET_TARGET_PROPERTIES(  ${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
53 SET_TARGET_PROPERTIES(  ${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
54
55 CONFIGURE_FILE(         ${PROJECT_NAME}.pc ${PROJECT_NAME}.pc @ONLY)
56 INSTALL(TARGETS         ${PROJECT_NAME} DESTINATION ${LIBDIR}/hal)
57 INSTALL(
58         DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
59         DESTINATION ${INCLUDEDIR}/hal
60         FILES_MATCHING PATTERN "*.h"
61 )
62 INSTALL(FILES           ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIBDIR}/pkgconfig)