CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(slp_devman_plugin C) SET(SRCS src/device_manager_io.c src/vibrator.c src/device_manager_plugin_mfld.c) IF("${CMAKE_BUILD_TYPE}" STREQUAL "") SET(CMAKE_BUILD_TYPE "Release") ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "") MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") SET(CMAKE_C_FLAGS_RELEASE "-O2") INCLUDE(FindPkgConfig) pkg_check_modules(pkgs REQUIRED devman devman_plugin alsa dlog iniparser svi) FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS}) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(UDEV_RULES_PATH share/devman) SET(UDEV_RULES 92-devman.rules) CONFIGURE_FILE(${UDEV_RULES}.in ${UDEV_RULES} @ONLY) ADD_EXECUTABLE(slp_plugin_test src/test/slp_plugin_test.c) TARGET_LINK_LIBRARIES(slp_plugin_test ${pkgs_LDFLAGS} ${PROJECT_NAME}) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${UDEV_RULES} DESTINATION ${UDEV_RULES_PATH}) INSTALL(TARGETS slp_plugin_test DESTINATION bin) INSTALL(FILES vibrator.ini DESTINATION etc) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib COMPONENT RuntimeLibraries)