Removed the dependency of lbs-dbus in spec file.
[platform/core/location/lbs-location.git] / location / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(location C)
3
4 SET(LIB_NAME "lbs-location")
5 SET(INC_DIR "include")
6 SET(MANAGER_DIR "manager")
7 SET(MODULE_DIR "module")
8
9 IF(FEATURE_PROFILE_TV)
10         SET(PRIVACY_SRC "")
11
12         MESSAGE("<<< TV Profile >>>")
13 ELSE(FEATURE_PROFILE_TV)
14         SET(PRIVACY_SRC "${MANAGER_DIR}/location-privacy.c")
15
16         IF(FEATURE_PROFILE_WEARABLE)
17                 MESSAGE("<<< Wearable Profile >>>")
18         ELSE(FEATURE_PROFILE_WEARABLE)
19                 MESSAGE("<<< Mobile Profile >>>")
20                 ADD_DEFINITIONS("-DTIZEN_PROFILE_MOBILE")
21         ENDIF(FEATURE_PROFILE_WEARABLE)
22 ENDIF(FEATURE_PROFILE_TV)
23
24 ADD_DEFINITIONS("-DLIBDIR=\"${LIBDIR}\"")
25
26 INCLUDE_DIRECTORIES(
27         ${INC_DIR}
28         ${MANAGER_DIR}
29         ${MODULE_DIR}
30 )
31
32 ### Build ###
33 SET(SRCS
34         ${MANAGER_DIR}/location.c
35         ${MANAGER_DIR}/location-marshal.c
36         ${MANAGER_DIR}/location-ielement.c
37         ${MANAGER_DIR}/location-setting.c
38         ${MANAGER_DIR}/location-position.c
39         ${MANAGER_DIR}/location-batch.c
40         ${MANAGER_DIR}/location-velocity.c
41         ${MANAGER_DIR}/location-accuracy.c
42         ${MANAGER_DIR}/location-boundary.c
43         ${MANAGER_DIR}/location-satellite.c
44         ${MANAGER_DIR}/location-signaling-util.c
45         ${MANAGER_DIR}/location-common-util.c
46         ${MANAGER_DIR}/location-gps.c
47         ${MANAGER_DIR}/location-wps.c
48         ${PRIVACY_SRC}
49
50         ${MODULE_DIR}/module-internal.c
51 )
52
53 SET(SRCS_MOBILE
54         ${MANAGER_DIR}/location-hybrid-mobile.c
55 )
56
57 SET (INSTALL_HEADERS
58         ${INC_DIR}/location-types.h
59
60         ${MANAGER_DIR}/location.h
61         ${MANAGER_DIR}/location-position.h
62         ${MANAGER_DIR}/location-batch.h
63         ${MANAGER_DIR}/location-velocity.h
64         ${MANAGER_DIR}/location-accuracy.h
65         ${MANAGER_DIR}/location-boundary.h
66         ${MANAGER_DIR}/location-satellite.h
67
68         ${MODULE_DIR}/location-module.h
69 )
70
71 ADD_LIBRARY(${LIB_NAME} SHARED ${SRCS} ${SRCS_MOBILE})
72 TARGET_LINK_LIBRARIES(${LIB_NAME} ${pkgs_LDFLAGS} -lm)
73 SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES VERSION ${FULLVER} SOVERSION ${MAJORVER} CLEAN_DIRECT_OUTPUT 1)
74
75 IF (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${MANAGER_DIR}/location-marshal.c)
76         MESSAGE ("")
77         MESSAGE ("<<< Generating location-marshal.c >>>")
78
79         EXECUTE_PROCESS(
80                 COMMAND glib-genmarshal --header --prefix=location ${CMAKE_CURRENT_SOURCE_DIR}/manager/location-marshal.list
81                 OUTPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/manager/location-marshal.h
82         )
83
84         EXECUTE_PROCESS(
85                 COMMAND glib-genmarshal --body --prefix=location ${CMAKE_CURRENT_SOURCE_DIR}/manager/location-marshal.list
86                 OUTPUT_VARIABLE marshal_var
87         )
88
89         EXECUTE_PROCESS(
90                 COMMAND echo "#include \"location-marshal.h\" ${marshal_var}"
91                 OUTPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/manager/location-marshal.c
92         )
93
94 ENDIF (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${MANAGER_DIR}/location-marshal.c)
95
96 INSTALL(TARGETS ${LIB_NAME} DESTINATION ${LIBDIR} COMPONENT Runtime)
97 FOREACH(ITEM IN ITEMS ${INSTALL_HEADERS})
98         MESSAGE ("${ITEM}")
99         INSTALL(FILES ${ITEM} DESTINATION ${INCLUDEDIR}/${PROJECT_NAME})
100 ENDFOREACH()