Add not supported using feature
[platform/core/api/mtp.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 # project
4 SET(project_prefix "capi")
5 SET(prefix "/usr")
6 SET(libdir ${LIB_INSTALL_DIR})
7 SET(version "0.0.1")
8 SET(maintainer "Jihoon Jung <jh8801.jung@samsung.com>")
9 SET(description "A MTP library in Tizen Native API")
10 SET(service "network")
11 SET(submodule "mtp")
12
13 # for package file
14 SET(dependents "dlog glib-2.0 gio-2.0 capi-base-common gio-unix-2.0 sqlite3 capi-system-info")
15 SET(pc_dependents "capi-base-common")
16
17 SET(fw_name "${project_prefix}-${service}-${submodule}")
18
19 FIND_PROGRAM(GDBUS_CODEGEN NAMES gdbus-codegen)
20 EXEC_PROGRAM(${GDBUS_CODEGEN} ARGS
21                 " \\
22                 --generate-c-code ${CMAKE_CURRENT_SOURCE_DIR}/src/mtp_gdbuslib \\
23                 --c-namespace mtp_gdbuslib \\
24                 --interface-prefix org.tizen.mtp. \\
25                 ${CMAKE_CURRENT_SOURCE_DIR}/src/mtp_gdbuslib.xml \\
26                 ")
27
28 PROJECT(${fw_name})
29
30 SET(CMAKE_INSTALL_PREFIX ${prefix})
31 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
32 SET(VERSION ${version})
33
34 SET(INC_DIR include)
35 INCLUDE_DIRECTORIES(${INC_DIR})
36 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
37
38 INCLUDE(FindPkgConfig)
39 pkg_check_modules(${fw_name} REQUIRED ${dependents})
40 FOREACH(flag ${${fw_name}_CFLAGS})
41     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
42 ENDFOREACH(flag)
43
44 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror")
45 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
46
47 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
48 ADD_DEFINITIONS("-DTIZEN_DEBUG")
49
50 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=%{_libdir}")
51
52 SET(SOURCES src/mtp.c
53             src/mtp_gdbuslib.c
54             src/mtp_gdbus_deviceinfo.c
55             src/mtp_gdbus_manager.c
56             src/mtp_gdbus_storageinfo.c
57             src/mtp_gdbus_objectinfo.c
58             src/mtp_db.c)
59
60 ADD_LIBRARY(${fw_name} SHARED ${SOURCES})
61
62 TARGET_LINK_LIBRARIES(${fw_name} ${${fw_name}_LDFLAGS})
63
64 SET_TARGET_PROPERTIES(${fw_name}
65      PROPERTIES
66      VERSION ${FULLVER}
67      SOVERSION ${MAJORVER}
68      CLEAN_DIRECT_OUTPUT 1
69 )
70
71 INSTALL(TARGETS ${fw_name} DESTINATION ${libdir})
72 INSTALL(
73         DIRECTORY ${INC_DIR}/ DESTINATION include
74         FILES_MATCHING
75         PATTERN "${INC_DIR}/*.h"
76         )
77
78 SET(PC_NAME ${fw_name})
79 SET(PC_REQUIRED ${pc_dependents})
80 SET(PC_LDFLAGS -l${fw_name})
81
82 CONFIGURE_FILE(
83     ${fw_name}.pc.in
84     ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc
85     @ONLY
86 )
87 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc DESTINATION ${libdir}/pkgconfig)
88
89 ADD_SUBDIRECTORY(test)
90