CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(feedback C) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "\${prefix}") SET(LIBDIR "\${prefix}/lib") SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}") SET(VERSION 0.1.4) IF("${ARCH}" STREQUAL "emulator") OPTION(USE_EMULATOR "Use Emulator" ON) ELSEIF("${ARCH}" STREQUAL "arm") OPTION(USE_ARM "Use Arm" ON) ENDIF() SET(FEEDBACK_DATA_PATH ${CMAKE_CURRENT_SOURCE_DIR}/data) IF(USE_EMULATOR) SET(FEEDBACK_DATA_DIRS ${FEEDBACK_DATA_PATH}/emulator) ELSE(USE_EMULATOR) IF(MICRO_DD) SET(FEEDBACK_DATA_DIRS ${FEEDBACK_DATA_PATH}/micro) ELSE(MICRO_DD) SET(FEEDBACK_DATA_DIRS ${FEEDBACK_DATA_PATH}/mobile) ENDIF(MICRO_DD) ENDIF(USE_EMULATOR) SET(SRCS src/devices.c src/sound.c src/vibrator.c src/xmlparser.c src/feedback.c src/str.c src/dbus.c) SET(HEADERS SLP_FEEDBACK_PG.h include/feedback.h include/feedback-ids.h) SET(DEPENDENTS "vconf mm-keysound dlog libxml-2.0 glib-2.0 dbus-1") SET(PC_DEPENDENTS "capi-base-common") SET(PC_NAME ${PROJECT_NAME}) SET(PC_REQUIRED ${PC_DEPENDENTS}) SET(PC_LDFLAGS -l${PROJECT_NAME}) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) INCLUDE(FindPkgConfig) pkg_check_modules(pkgs REQUIRED ${DEPENDENTS}) FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden") SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g") SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Werror") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS}) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib COMPONENT RuntimeLibraries) CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig) FOREACH(hfile ${HEADERS}) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/${PROJECT_NAME}) ENDFOREACH(hfile) IF(MICRO_DD OR USE_EMULATOR) INSTALL(DIRECTORY ${FEEDBACK_DATA_DIRS}/ DESTINATION share/${PROJECT_NAME}) ELSE(MICRO_DD OR USE_EMULATOR) INSTALL(DIRECTORY ${FEEDBACK_DATA_DIRS}/sound DESTINATION share/${PROJECT_NAME}) INSTALL(FILES ${FEEDBACK_DATA_DIRS}/sound.xml DESTINATION share/${PROJECT_NAME}) INSTALL(FILES ${FEEDBACK_DATA_DIRS}/vibration.xml DESTINATION share/${PROJECT_NAME}) ENDIF(MICRO_DD OR USE_EMULATOR)