diff options
Diffstat (limited to 'src/plugin-api/update-control/CMakeLists.txt')
-rw-r--r-- | src/plugin-api/update-control/CMakeLists.txt | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/plugin-api/update-control/CMakeLists.txt b/src/plugin-api/update-control/CMakeLists.txt new file mode 100644 index 0000000..1e76cd8 --- /dev/null +++ b/src/plugin-api/update-control/CMakeLists.txt @@ -0,0 +1,68 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(syscommon-plugin-api-update-control) + +SET(PREFIX ${CMAKE_INSTALL_PREFIX}) +SET(EXEC_PREFIX "${PREFIX}/bin") +SET(LIBDIR ${LIB_INSTALL_DIR}) +SET(INCLUDEDIR "${PREFIX}/include/system") +SET(VERSION ${PLUGIN_API_UPDATE_CONTROL_VERSION}) + +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) +# Including below should be removed if the repository of +# syscommon-plugin-api-common is separated. +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../common/include) + +if (${PLUGIN_API_DEVICED_ENABLE_DLOG}) + SET(PKG_MODULES + glib-2.0 + dlog) + ADD_DEFINITIONS("-DENABLE_DLOG") + ADD_DEFINITIONS("-DLOG_TAG=\"SYSTEM_PLUGIN_API_UPDATE_CONTROL\"") +else() + SET(PKG_MODULES + glib-2.0) +endif() + +INCLUDE(FindPkgConfig) +pkg_check_modules(pkgs REQUIRED ${PKG_MODULES}) +FOREACH(flag ${pkgs_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) + +SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -fPIC") +SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -lrt") +SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl") +SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") + +# syscommon-plugin-api-common.c and syscommon-plugin-api-conf.c are unnecessary +# if the repository of syscommon-plugin-api-common is separated. +# Please remove them from SRCS and add 'syscommon-plugin-api-common' +# to PKG_MODULES. +SET(SRCS src/syscommon-plugin-update-control.c + ../common/src/syscommon-plugin-api-common.c + ../common/src/syscommon-plugin-api-conf.c) + +ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} + -ldl -Wl,-z,nodelete,--no-undefined) + +SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${PLUGIN_API_UPDATE_CONTROL_VERSION}) +SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${PLUGIN_API_UPDATE_CONTROL_MAJORVER}) + +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR}) +INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/system/ + DESTINATION ${INCLUDEDIR} + FILES_MATCHING PATTERN "*.h" +) + +# CONFIGURE .pc FILE +FOREACH(include_dirs ${pkgs_INCLUDE_DIRS}) + SET(PLUGIN_UPDATE_CONTROL_INCLUDEDIR "${PLUGIN_UPDATE_CONTROL_INCLUDEDIR} -I${include_dirs}") +ENDFOREACH(include_dirs) +FOREACH(libraries ${pkgs_LIBRARIES}) + SET(PLUGIN_UPDATE_CONTROL_LIBS "${PLUGIN_UPDATE_CONTROL_LIBS} -l${libraries}") +ENDFOREACH(libraries) +SET(PACKAGE_CONFIG_FILE "lib${PROJECT_NAME}.pc") +CONFIGURE_FILE(${PACKAGE_CONFIG_FILE}.in ${PACKAGE_CONFIG_FILE} @ONLY) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_CONFIG_FILE} DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) |