merge with master
[framework/osp/locations.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target osp-locations)
4
5 SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
6
7 INCLUDE_DIRECTORIES (
8         ${ROOTSTRAP_ROOT}/usr/include/location
9         inc
10         src
11         /usr/include/osp
12         /usr/include/osp/app
13         /usr/include/osp/base
14         /usr/include/osp/io
15         /usr/include/osp/system
16         /usr/include/osp/security
17         )
18
19 SET (${this_target}_SOURCE_FILES
20         src/FLocCoordinates.cpp
21         src/FLocLocationCriteria.cpp
22         src/FLocLocation.cpp
23         src/FLocLocationProvider.cpp
24         src/FLoc_EllipsoidModel.cpp
25         src/FLoc_LocationImpl.cpp
26         src/FLoc_LocationManager.cpp
27         src/FLoc_LocationProviderImpl.cpp
28         src/FLoc_MathUtils.cpp
29         src/FLoc_LocationMonitor.cpp
30         )
31
32 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
33
34 ## SET C COMPILER FLAGS
35 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
36
37 ## SET CPP COMPILER FLAGS
38 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
39 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
40
41 ## Create Library
42 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
43
44 ## SET LINKER FLAGS
45 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
46
47 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw")
48 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-uifw")
49 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-location-manager")
50 TARGET_LINK_LIBRARIES(${this_target} "-lpthread")
51
52 SET_TARGET_PROPERTIES(${this_target} 
53         PROPERTIES 
54         VERSION ${FULLVER}
55         SOVERSION ${MAJORVER}
56         CLEAN_DIRECT_OUTPUT 1
57         )
58
59 ADD_CUSTOM_COMMAND(TARGET ${this_target}
60     POST_BUILD
61                 COMMAND ${CMAKE_COMMAND} -E copy ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} 
62                 COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER}
63                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
64     COMMENT "strip ${this_target}"
65                 )   
66
67 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp 
68                                 FILES_MATCHING PATTERN "*.so*" 
69                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
70                                                                                 GROUP_EXECUTE GROUP_READ
71                                                                                 WORLD_EXECUTE WORLD_READ)
72 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
73                                 FILES_MATCHING PATTERN "*.so*" 
74                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
75                                                                                 GROUP_EXECUTE GROUP_READ
76                                                                                 WORLD_EXECUTE WORLD_READ)
77
78 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
79
80 # pkgconfig file
81 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
82 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)