CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(sensor CXX) SET(DEPENDENTS "vconf glib-2.0 gio-2.0 dlog") SET(VERSION ${FULLVER}) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "${CMAKE_INSTALL_PREFIX}/bin") SET(PC_NAME ${PROJECT_NAME}) SET(PC_DESCRIPTION "Sensor Client library") SET(PC_INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/sensor") SET(PC_REQUIRES "${DEPENDENTS}") SET(PC_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") SET(PC_LDFLAGS "-l${PROJECT_NAME}") INCLUDE(FindPkgConfig) PKG_CHECK_MODULES(PKGS REQUIRED ${DEPENDENTS}) FOREACH(flag ${PKGS_CFLAGS}) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") ENDFOREACH(flag) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden -g -fPIC") SET (INSTALL_HEADERS sensor_internal.h sensor_internal_deprecated.h ) INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/hal ${CMAKE_SOURCE_DIR}/src/shared ${CMAKE_CURRENT_SOURCE_DIR} ) FILE(GLOB_RECURSE SRCS *.cpp) IF("${PROFILE}" STREQUAL "tv") LIST(REMOVE_ITEM SRCS "${CMAKE_CURRENT_SOURCE_DIR}/client.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/external_client.cpp") ELSE() LIST(REMOVE_ITEM SRCS "${CMAKE_CURRENT_SOURCE_DIR}/client_dummy.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/external_client_dummy.cpp") ENDIF() ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS} "sensord-shared") SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${MAJORVER}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${FULLVER}) CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc @ONLY) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries) FOREACH(HEADER IN ITEMS ${INSTALL_HEADERS}) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${HEADER} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor) ENDFOREACH() INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)