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