CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(libsyscommon C) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/shared) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) ADD_SUBDIRECTORY(src/plugin-api/common) ADD_SUBDIRECTORY(src/plugin-api/resourced) ADD_SUBDIRECTORY(src/plugin-api/deviced) # ADD_SUBDIRECTORY(src/libgdbus) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "${PREFIX}/bin") SET(LIBDIR ${LIB_INSTALL_DIR}) SET(INCLUDEDIR "${PREFIX}/include") SET(VERSION ${FULLVER}) SET(libsyscommon_SRCS src/libgdbus/libgdbus.c src/libsystemd/libsystemd.c src/libcommon/ini-parser.c src/libcommon/file.c src/libcommon/common.c src/libcommon/bitmap.c src/libcommon/proc.c src/libcommon/notifier.c src/resource-manager/resource-manager.c src/resource-manager/resource-device.c src/resource-manager/resource-listener-epoll.c ) # CHECK PKG INCLUDE(FindPkgConfig) pkg_check_modules(syscommon REQUIRED glib-2.0 gio-2.0 gio-unix-2.0 dlog json-c capi-system-info) FOREACH(flag ${syscommon_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") # LIBRARY ADD_LIBRARY(${PROJECT_NAME} SHARED ${libsyscommon_SRCS}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${syscommon_LDFLAGS} "-ldl" pthread) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-fPIC") SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME syscommon) # INSTALL INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries) # CONGIFURE FILE FOREACH(flag ${syscommon_INCLUDE_DIRS}) SET(SYSCOMMON_INCLUDEDIR "${SYSCOMMON_INCLUDEDIR} -I${flag}") ENDFOREACH(flag) FOREACH(flag ${syscommon_LIBRARIES}) SET(SYSCOMMON_LIBS "${SYSCOMMON_LIBS} -l${flag}") ENDFOREACH(flag) CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) # HEADER INSTALL(DIRECTORY include/libsyscommon DESTINATION include) ADD_SUBDIRECTORY(tests)