CMAKE_MINIMUM_REQUIRED(VERSION 2.6) SET (this_target osp-common-service) SET (APPID sjjevolsjk) SET(CMAKE_EXECUTABLE_SUFFIX ".exe") SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/output") INCLUDE_DIRECTORIES ( inc src/messaging src/system src/ui /usr/include/osp/ui ) SET (${this_target}_SOURCE_FILES src/CommonService.cpp src/CommonServiceEntry.cpp ) INCLUDE(FindPkgConfig) pkg_check_modules(${this_target} REQUIRED glib-2.0 ecore eina chromium libsmack capi-appfw-application osp-appfw osp-appfw-server osp-system-server ) FOREACH(flag ${${this_target}_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) ADD_SUBDIRECTORY(src/messaging) ADD_SUBDIRECTORY(src/system) ADD_SUBDIRECTORY(src/ui) ## SET EXTRA COMPILER FLAGS SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIE -Wall -pthread -g3" ) #SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fstack-protector -Wstack-protector" ) ## SET C COMPILER FLAGS SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}") ## SET CPP COMPILER FLAGS SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}") SET(CMAKE_SKIP_BUILD_RPATH FALSE) SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) SET(CMAKE_INSTALL_RPATH "/usr/lib/osp-server") SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE) ## Create Executable ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES}) ## Create Shared Library SET(STATIC_LIBS messaging_service system_service ui_service) SET_TARGET_PROPERTIES(${this_target} PROPERTIES LINK_INTERFACE_LIBRARIES "") ADD_DEPENDENCIES(${this_target} ${STATIC_LIBS}) MACRO(OSP_ADD_OBJS_IN_ARCHIVE archives) SET(LINK_OBJECTS_IN_ARCHIVE) FOREACH(archive ${ARGV}) SET(LINK_OBJECTS_IN_ARCHIVE "${LINK_OBJECTS_IN_ARCHIVE} -l${archive}") ENDFOREACH(archive) SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--whole-archive ${LINK_OBJECTS_IN_ARCHIVE} -Wl,-no-whole-archive") ENDMACRO(OSP_ADD_OBJS_IN_ARCHIVE) OSP_ADD_OBJS_IN_ARCHIVE(${STATIC_LIBS}) SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed") TARGET_LINK_LIBRARIES( ${this_target} ${STATIC_LIBS}) TARGET_LINK_LIBRARIES(${this_target} -Xlinker --no-undefined -Xlinker --as-needed -pie) TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-uifw" ) TARGET_LINK_LIBRARIES(${this_target} -L/usr/lib/osp -losp-messaging) TARGET_LINK_LIBRARIES(${this_target} "-lmsg_mapi" ) TARGET_LINK_LIBRARIES(${this_target} "-lutilX" ) TARGET_LINK_LIBRARIES(${this_target} "-lecore_x" ) TARGET_LINK_LIBRARIES(${this_target} "-ltapi" ) TARGET_LINK_LIBRARIES(${this_target} "-lcapi-system-info" ) TARGET_LINK_LIBRARIES(${this_target} "-lcapi-network-wifi" ) TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib -lkies_alarm") TARGET_LINK_LIBRARIES(${this_target} "-ldl") TARGET_LINK_LIBRARIES(${this_target} ${${this_target}_LDFLAGS} ${${this_target}_LIBRARIES}) INSTALL(TARGETS ${this_target} DESTINATION ../usr/apps/${APPID}/bin) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/manifest.xml DESTINATION ../usr/apps/${APPID}/info) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/global_res/opt/usr/etc/system_info_cache.ini DESTINATION ../opt/usr/etc) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/ DESTINATION ../usr/apps/${APPID}/data) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/global_res/opt/etc/smack/accesses.d/osp-common-service.native DESTINATION ../etc/smack/accesses.d)