Add scene updates for toggling buildings, public transit, and setting language
[platform/core/location/maps-plugin-mapzen.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET(fw_name "maps-plugin-mapzen")
3 PROJECT(${fw_name} C CXX)
4
5 SET(CMAKE_INSTALL_PREFIX /usr)
6 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
7
8 # Dependencies
9 SET(dependents "glib-2.0 gmodule-2.0 dlog libcurl capi-network-connection capi-maps-service evas ecore-evas elementary")
10
11 INCLUDE(FindPkgConfig)
12 pkg_check_modules(pkgs REQUIRED ${dependents})
13 FOREACH(flag ${pkgs_CFLAGS})
14     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
15     SET(EXTRA_CXXFLAGS "${EXTRA_CFLAGS} ${flag}")
16 ENDFOREACH(flag)
17
18
19 # Build
20 SET(CMAKE_INSTALL_PREFIX /usr)
21 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
22
23 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=hidden -fPIC -Wall -Werror")
24 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
25 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpie ${EXTRA_CFLAGS} -Wall -g -fPIC -std=c++0x -fvisibility=hidden")
26
27 IF("${ARCH}" STREQUAL "arm")
28     ADD_DEFINITIONS("-DTARGET")
29 ENDIF("${ARCH}" STREQUAL "arm")
30
31 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
32 ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))")
33 ADD_DEFINITIONS("-DTIZEN_DEBUG")
34
35 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${LIBDIR}")
36
37
38 # Include files
39 # Maps Service Includes
40 SET(INC_DIR
41         include
42 )
43
44 # Maps Service Implementation
45 SET(INTERNAL_INC_DIR
46         src
47 )
48
49 # Mapzen Engine Implementation
50 SET(ENGINE_INC_DIR
51         src/mapzen
52 )
53
54 # External dependencies
55 SET(EXTERNAL_INC_DIR
56         external/rapidjson/include
57 )
58
59 INCLUDE_DIRECTORIES(
60 ${INC_DIR} ${INTERNAL_INC_DIR} ${ENGINE_INC_DIR} ${EXTERNAL_INC_DIR}
61 )
62
63 #This file must be corrected
64
65 # Source Lists
66 SET(SRCS
67         # Maps API
68         src/mapzen_plugin.c
69
70         # Mapzen Engine
71         src/mapzen/mapzen_api.cpp
72         src/mapzen/mapzen_geocode.c
73         src/mapzen/mapzen_revgeocode.c
74         src/mapzen/mapzen_route.cpp
75         src/mapzen/mapzen_place.c
76         src/mapzen/mapzen_restcurl.c
77         src/mapzen/mapzen_jsonparser.cpp
78         src/mapzen/mapzen_queue.c
79         src/mapzen/mapzen_util.c
80         src/mapzen/tangram_view.cpp
81 )
82
83 ADD_LIBRARY(${fw_name} SHARED ${SRCS})
84
85 SET_TARGET_PROPERTIES(${fw_name}
86         PROPERTIES
87     VERSION ${FULLVER}
88     SOVERSION ${MAJORVER}
89     CLEAN_DIRECT_OUTPUT 1
90 )
91
92
93 FIND_LIBRARY(TANGRAM_LIBRARY tangram lib/${ARCH})
94
95 TARGET_LINK_LIBRARIES(${fw_name} ${pkgs_LDFLAGS} ${TANGRAM_LIBRARY})
96
97 SET(PC_NAME ${fw_name})
98 SET(PC_DESCRIPTION "Tizen mapzen plugin Library")
99 SET(PC_LDFLAGS -l${fw_name})
100 SET(PC_INCLUDE /usr/include/maps)
101
102 CONFIGURE_FILE(
103         ${fw_name}.pc.in
104         ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc
105         @ONLY
106 )
107
108 # Install
109 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc DESTINATION lib/pkgconfig)
110 INSTALL(TARGETS ${fw_name} DESTINATION lib/maps/plugins)
111 INSTALL(FILES ${TANGRAM_LIBRARY} DESTINATION lib)
112
113 #INCLUDE(FindPkgConfig)
114 #pkg_check_modules(lib_pkgs REQUIRED
115 #               capi-maps-service
116 #)
117
118 SET(LIB_APP_ASSIST capi-maps-service)
119 INSTALL(
120         DIRECTORY ${INC_DIR}/ DESTINATION include/mapzen-plugin
121         FILES_MATCHING
122         PATTERN "*_internal.h" EXCLUDE
123         PATTERN "${INC_DIR}/mapzen_*.h"
124 )
125
126 # Test Suite
127 #IF("${BINTYPE}" STREQUAL "eng")
128 #ENDIF("${BINTYPE}" STREQUAL "eng")