license copy changed to macro
[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 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
65 ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))")
66 #ADD_DEFINITIONS("-DTIZEN_DEBUG")
67 ADD_DEFINITIONS("-DTIZEN_VER=${TIZEN_VER}")
68 ADD_DEFINITIONS("-DLIBDIR=\"${LIBDIR}\"")
69
70 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
71
72 aux_source_directory(src SOURCES)
73 aux_source_directory(src/api SOURCES_API)
74 aux_source_directory(src/plugin SOURCES_PLUGIN)
75 aux_source_directory(src/session SOURCES_SESSION)
76 aux_source_directory(src/view SOURCES_SESSION)
77 ADD_LIBRARY(${fw_name} SHARED ${SOURCES} ${SOURCES_API} ${SOURCES_PLUGIN} ${SOURCES_SESSION})
78
79 TARGET_LINK_LIBRARIES(${fw_name} ${${fw_name}_LDFLAGS})
80
81 SET_TARGET_PROPERTIES(${fw_name}
82         PROPERTIES
83         VERSION ${FULLVER}
84         SOVERSION ${MAJORVER}
85         CLEAN_DIRECT_OUTPUT 1
86 )
87
88 INSTALL(TARGETS ${fw_name} DESTINATION ${LIBDIR})
89 INSTALL(
90         DIRECTORY ${INC_DIR}/ DESTINATION include/maps
91         FILES_MATCHING
92         # *_plugin.h" are needed by plugin
93         #        PATTERN "*_plugin.h" EXCLUDE
94         PATTERN "${INC_DIR}/*.h"
95 )
96
97 SET(PC_NAME ${fw_name})
98 SET(PC_DESCRIPTION "Tizen Maps Library")
99 SET(PC_REQUIRED ${pc_dependents})
100 SET(PC_LDFLAGS -l${fw_name})
101 SET(PC_INCLUDE /usr/include/maps)
102
103 CONFIGURE_FILE(
104         ${fw_name}.pc.in
105         ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc
106         @ONLY
107 )
108 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc DESTINATION ${LIBDIR}/pkgconfig)