summaryrefslogtreecommitdiff
path: root/src/plugin-api/update-control/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugin-api/update-control/CMakeLists.txt')
-rw-r--r--src/plugin-api/update-control/CMakeLists.txt68
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)