1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
3 SET (this_target osp-common-service)
6 SET(CMAKE_EXECUTABLE_SUFFIX ".exe")
7 SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/output")
17 SET (${this_target}_SOURCE_FILES
19 src/CommonServiceEntry.cpp
22 INCLUDE(FindPkgConfig)
23 pkg_check_modules(${this_target} REQUIRED
29 capi-appfw-application
35 FOREACH(flag ${${this_target}_CFLAGS})
36 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
39 ADD_SUBDIRECTORY(src/messaging)
40 ADD_SUBDIRECTORY(src/system)
41 ADD_SUBDIRECTORY(src/ui)
43 ## SET EXTRA COMPILER FLAGS
44 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIE -Wall -pthread -g3" )
45 #SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fstack-protector -Wstack-protector" )
47 ## SET C COMPILER FLAGS
48 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
50 ## SET CPP COMPILER FLAGS
51 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
52 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
54 SET(CMAKE_SKIP_BUILD_RPATH FALSE)
55 SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
56 SET(CMAKE_INSTALL_RPATH "/usr/lib/osp-server")
57 SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
60 ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES})
62 ## Create Shared Library
63 SET(STATIC_LIBS messaging_service system_service ui_service)
65 SET_TARGET_PROPERTIES(${this_target} PROPERTIES LINK_INTERFACE_LIBRARIES "")
67 ADD_DEPENDENCIES(${this_target} ${STATIC_LIBS})
69 MACRO(OSP_ADD_OBJS_IN_ARCHIVE archives)
70 SET(LINK_OBJECTS_IN_ARCHIVE)
71 FOREACH(archive ${ARGV})
72 SET(LINK_OBJECTS_IN_ARCHIVE "${LINK_OBJECTS_IN_ARCHIVE} -l${archive}")
74 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--whole-archive ${LINK_OBJECTS_IN_ARCHIVE} -Wl,-no-whole-archive")
75 ENDMACRO(OSP_ADD_OBJS_IN_ARCHIVE)
77 OSP_ADD_OBJS_IN_ARCHIVE(${STATIC_LIBS})
79 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
81 TARGET_LINK_LIBRARIES( ${this_target} ${STATIC_LIBS})
83 TARGET_LINK_LIBRARIES(${this_target} -Xlinker --no-undefined -Xlinker --as-needed -pie)
84 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-uifw" )
85 TARGET_LINK_LIBRARIES(${this_target} -L/usr/lib/osp -losp-messaging)
86 TARGET_LINK_LIBRARIES(${this_target} "-lmsg_mapi" )
87 TARGET_LINK_LIBRARIES(${this_target} "-lutilX" )
88 TARGET_LINK_LIBRARIES(${this_target} "-lecore_x" )
89 TARGET_LINK_LIBRARIES(${this_target} "-ltapi" )
90 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-system-info" )
91 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-network-wifi" )
92 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib -lkies_alarm")
93 TARGET_LINK_LIBRARIES(${this_target} "-ldl")
94 TARGET_LINK_LIBRARIES(${this_target} ${${this_target}_LDFLAGS} ${${this_target}_LIBRARIES})
96 INSTALL(TARGETS ${this_target} DESTINATION ../usr/apps/${APPID}/bin)
97 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/manifest.xml DESTINATION ../usr/apps/${APPID}/info)
98 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/global_res/opt/usr/etc/system_info_cache.ini DESTINATION ../opt/usr/etc)
99 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/ DESTINATION ../usr/apps/${APPID}/data)
100 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/global_res/opt/etc/smack/accesses.d/osp-common-service.native DESTINATION ../etc/smack/accesses.d)