Merge "update package version" into tizen
[platform/core/api/maps-service.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET(fw_name "capi-maps-service")
3
4 PROJECT(${fw_name})
5
6 SET(CMAKE_INSTALL_PREFIX /usr)
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8
9 SET(INC_DIR include)
10 SET(INTERNAL_INC_DIR
11         src
12         src/api
13         src/plugin
14         src/session
15         src/view
16         )
17 INCLUDE_DIRECTORIES(${INC_DIR} ${INTERNAL_INC_DIR})
18
19 SET(dependents
20         # Maps API dependencies
21         glib-2.0
22         gmodule-2.0
23         capi-base-common
24         dlog
25         capi-system-info
26
27         # Mapping API dependencies
28         eina
29         evas
30         ecore
31         cairo
32         elementary
33         capi-media-image-util
34 )
35
36 IF(${TIZEN_VER} LESS 0x030000)
37         SET(dependents
38                 ${dependents}
39                 # Privilege check for Tizen 2.x
40                 privacy-manager-client
41                 libsmack
42         )
43 ENDIF(${TIZEN_VER} LESS 0x030000)
44
45
46 SET(pc_dependents "capi-base-common evas")
47
48 INCLUDE(FindPkgConfig)
49 pkg_check_modules(${fw_name} REQUIRED ${dependents})
50 FOREACH(flag ${${fw_name}_CFLAGS})
51         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
52 ENDFOREACH(flag)
53
54 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror -fvisibility=hidden -fvisibility-inlines-hidden")
55 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
56
57 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror -fvisibility=hidden")
58 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
59
60 IF("${ARCH}" STREQUAL "arm")
61         ADD_DEFINITIONS("-DTARGET")
62 ENDIF("${ARCH}" STREQUAL "arm")
63
64 IF("${PROFILE}" STREQUAL "wearable")
65         ADD_DEFINITIONS("-DTIZEN_WEARABLE")
66 ENDIF("${PROFILE}" STREQUAL "wearable")
67
68 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
69 ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))")
70 #ADD_DEFINITIONS("-DTIZEN_DEBUG")
71 ADD_DEFINITIONS("-DTIZEN_VER=${TIZEN_VER}")
72 ADD_DEFINITIONS("-DLIBDIR=\"${LIBDIR}\"")
73
74 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
75
76 aux_source_directory(src SOURCES)
77 aux_source_directory(src/api SOURCES_API)
78 aux_source_directory(src/plugin SOURCES_PLUGIN)
79 aux_source_directory(src/session SOURCES_SESSION)
80 aux_source_directory(src/view SOURCES_SESSION)
81 ADD_LIBRARY(${fw_name} SHARED ${SOURCES} ${SOURCES_API} ${SOURCES_PLUGIN} ${SOURCES_SESSION})
82
83 TARGET_LINK_LIBRARIES(${fw_name} ${${fw_name}_LDFLAGS})
84
85 SET_TARGET_PROPERTIES(${fw_name}
86         PROPERTIES
87         VERSION ${FULLVER}
88         SOVERSION ${MAJORVER}
89         CLEAN_DIRECT_OUTPUT 1
90 )
91
92 INSTALL(TARGETS ${fw_name} DESTINATION ${LIBDIR})
93 INSTALL(
94         DIRECTORY ${INC_DIR}/ DESTINATION include/maps
95         FILES_MATCHING
96         # *_plugin.h" are needed by plugin
97         #        PATTERN "*_plugin.h" EXCLUDE
98         PATTERN "${INC_DIR}/*.h"
99 )
100
101 SET(PC_NAME ${fw_name})
102 SET(PC_DESCRIPTION "Tizen Maps Library")
103 SET(PC_REQUIRED ${pc_dependents})
104 SET(PC_LDFLAGS -l${fw_name})
105 SET(PC_INCLUDE /usr/include/maps)
106
107 CONFIGURE_FILE(
108         ${fw_name}.pc.in
109         ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc
110         @ONLY
111 )
112 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc DESTINATION ${LIBDIR}/pkgconfig)