CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(feedback C) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "\${prefix}") SET(LIBDIR ${LIB_INSTALL_DIR}) SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}") SET(VERSION 0.1.4) SET(FEEDBACK_DATA_PATH ${CMAKE_CURRENT_SOURCE_DIR}/data) SET(FEEDBACK_DATA_DIRS ${FEEDBACK_DATA_PATH}/feedback) SET(SRCS src/devices.c src/sound.c src/vibrator.c src/xmlparser.c src/feedback.c src/str.c) SET(HEADERS SLP_FEEDBACK_PG.h include/feedback.h include/feedback-ids.h) SET(SVI_NAME svi) SET(SVI_HEADERS include/svi.h include/svi-ids.h) SET(SVI_SRCS src/svi.c) SET(DEPENDENTS "vconf haptic mm-keysound dlog libxml-2.0 glib-2.0 libtzplatform-config") 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(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}) ADD_LIBRARY(${SVI_NAME} SHARED ${SVI_SRCS}) SET_TARGET_PROPERTIES(${SVI_NAME} PROPERTIES SOVERSION 0) SET_TARGET_PROPERTIES(${SVI_NAME} PROPERTIES VERSION ${VERSION}) TARGET_LINK_LIBRARIES(${SVI_NAME} -L${CMAKE_BINARY_DIR} -lfeedback) TARGET_LINK_LIBRARIES(${SVI_NAME} ${pkgs_LDFLAGS}) CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY) CONFIGURE_FILE(${SVI_NAME}.pc.in ${SVI_NAME}.pc @ONLY) FOREACH(hfile ${HEADERS}) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/${PROJECT_NAME}) ENDFOREACH(hfile) FOREACH(hfile ${SVI_HEADERS}) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/${SVI_NAME}) ENDFOREACH(hfile) FOREACH(datadir ${FEEDBACK_DATA_DIRS}) INSTALL(DIRECTORY ${datadir} DESTINATION share) ENDFOREACH(datadir) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries) INSTALL(TARGETS ${SVI_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SVI_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)