1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(hal-api-sensor CXX)
5 SET(VERSION "${VERSION_MAJOR}.1.0")
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8 SET(EXEC_PREFIX "${PREFIX}/bin")
9 SET(INCLUDEDIR "${PREFIX}/include")
10 SET(LIBDIR ${CMAKE_LIBDIR_PREFIX})
12 #######################################################
14 #######################################################
15 SET(OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/out/)
16 SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/)
17 SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/lib)
18 SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/lib)
20 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
21 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
22 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
29 INCLUDE(FindPkgConfig)
30 pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
32 FOREACH(flag ${pkgs_CFLAGS})
33 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
36 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -fPIC")
37 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
38 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -lrt")
39 SET(CMAKE_EXE_LINKER_FLAGS "-pie")
41 ADD_DEFINITIONS("-DLOG_TAG=\"HALAPI_SENSOR\"")
44 src/hal-api-sensor.cpp)
46 ADD_LIBRARY( ${PROJECT_NAME} SHARED ${SRCS})
47 TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl -lm -Wl,-z,nodelete,--no-undefined)
48 SET_TARGET_PROPERTIES( ${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
49 SET_TARGET_PROPERTIES( ${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
51 CONFIGURE_FILE( ${PROJECT_NAME}.pc ${PROJECT_NAME}.pc @ONLY)
52 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR}/hal)
54 DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
55 DESTINATION ${INCLUDEDIR}/hal
56 FILES_MATCHING PATTERN "*.h"
58 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIBDIR}/pkgconfig)
60 IF(HALTEST STREQUAL on)
61 ADD_SUBDIRECTORY(haltest)