Fix build error for toolchain upgrade
[platform/core/api/multi-device-group.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET(CAPI_MDG "capi-network-mdg")
3
4 PROJECT(${CAPI_MDG} C CXX)
5
6 MESSAGE(" - Defining...configuration variables")
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8
9 SET(LIB ${LIB_PATH})
10 SET(LIBDIR ${PREFIX}/${LIB_PATH})
11
12 SET(INC_DIR include)
13 INCLUDE_DIRECTORIES(${INC_DIR})
14 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
15
16 MESSAGE(" - Checking...packages dependency")
17 SET(COMMON_DEPS dlog gio-2.0 glib-2.0 gio-unix-2.0 capi-system-info)
18 SET(PC_DEPS "")
19
20 MESSAGE(" - Making...build configuration")
21 INCLUDE(FindPkgConfig)
22 pkg_check_modules(${CAPI_MDG} REQUIRED ${COMMON_DEPS})
23 FOREACH(flag ${${CAPI_MDG}_CFLAGS})
24     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
25 ENDFOREACH(flag)
26 SET(DEFAULT_CFLAGS "${EXTRA_CFLAGS} -Wall -fPIE -fPIC -Werror -g -fvisibility=hidden")
27 IF(BUILD_GCOV)
28         SET(GCOV_C_FLAGS "-fprofile-arcs -ftest-coverage")
29 ENDIF(BUILD_GCOV)
30 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DEFAULT_CFLAGS} ${GCOV_C_FLAGS}")
31 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
32
33 IF("${ARCH}" STREQUAL "arm")
34     ADD_DEFINITIONS("-DTARGET")
35 ENDIF("${ARCH}" STREQUAL "arm")
36
37 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
38 ADD_DEFINITIONS("-DTIZEN_DEBUG")
39
40 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie -Wl,--rpath=${LIBDIR}")
41
42 MESSAGE(" - Generating...d-bus code")
43 FIND_PROGRAM(GDBUS_CODEGEN NAMES gdbus-codegen)
44 EXEC_PROGRAM(${GDBUS_CODEGEN} ARGS
45                 " \\
46                 --generate-c-code ${CMAKE_CURRENT_SOURCE_DIR}/src/mdg_gdbus \\
47                 --interface-prefix org.tizen.mdg. \\
48                 ${CMAKE_CURRENT_SOURCE_DIR}/src/mdg_gdbus.xml \\
49                 ")
50
51 MESSAGE(" - Building...shared library")
52 SET(SOURCES src/mdg.c
53             src/mdg_gdbus.c
54             src/mdg_util.c
55             src/mdg_dbus.c)
56 ADD_LIBRARY(${CAPI_MDG} SHARED ${SOURCES})
57 TARGET_LINK_LIBRARIES(${CAPI_MDG} ${${CAPI_MDG}_LDFLAGS} pthread)
58
59 SET_TARGET_PROPERTIES(${CAPI_MDG}
60      PROPERTIES
61      VERSION ${FULLVER}
62      SOVERSION ${MAJORVER}
63      CLEAN_DIRECT_OUTPUT 1
64 )
65
66 MESSAGE(" - Installing...the library and header files")
67 INSTALL(TARGETS ${CAPI_MDG} DESTINATION ${LIB})
68 INSTALL(
69         DIRECTORY include/ DESTINATION include
70         FILES_MATCHING
71         PATTERN "include/*.h"
72         )
73
74 SET(PC_NAME ${CAPI_MDG})
75 SET(PC_REQUIRED ${PC_DEPS})
76 SET(PC_LDFLAGS -l${CAPI_MDG})
77
78 CONFIGURE_FILE(
79     ${CAPI_MDG}.pc.in
80     ${CMAKE_CURRENT_SOURCE_DIR}/${CAPI_MDG}.pc
81     @ONLY
82 )
83
84 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${CAPI_MDG}.pc DESTINATION ${LIB}/pkgconfig)
85
86 ADD_SUBDIRECTORY(test)