CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(smartreply-service) # Targets SET(target "smartreplyd") SET(CMAKE_CXX_FLAGS "-std=c++0x") SET(LIBDIR ${LIB_INSTALL_DIR}) # Source Lists FILE(GLOB_RECURSE SRCS src/*.cpp src/*.c) MESSAGE("Sources: ${SRCS}") # Dependencies SET(DEPS ecore libxml-2.0 capi-appfw-app-manager capi-appfw-package-manager capi-system-system-settings smartreply eina glib-2.0 gobject-2.0 gio-2.0 dlog ) # Dependencies regarding profiles IF("${PROFILE}" STREQUAL "mobile") ADD_DEFINITIONS("-D_MOBILE") ENDIF("${PROFILE}" STREQUAL "mobile") IF("${PROFILE}" STREQUAL "wearable") ADD_DEFINITIONS("-D_WEARABLE") ENDIF("${PROFILE}" STREQUAL "wearable") # Target vs Emulator FIND_PROGRAM(UNAME NAMES uname) EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") if(${ARCH} STREQUAL "armv7l") ADD_DEFINITIONS("-D_TARGET") INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/lib/armv7l/libsmart-reply-engine-en_US.so DESTINATION ${LIBDIR}) INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/lib/armv7l/libsmart-reply-engine-ko_KR.so DESTINATION ${LIBDIR}) elseif(${ARCH} STREQUAL "i686") ADD_DEFINITIONS("-D_EMULATOR") INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/lib/i586/libsmart-reply-engine-en_US.so DESTINATION ${LIBDIR}) INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/lib/i586/libsmart-reply-engine-ko_KR.so DESTINATION ${LIBDIR}) elseif(${ARCH} STREQUAL "aarch64") ADD_DEFINITIONS("-D_EMULATOR") INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/lib/aarch64/libsmart-reply-engine-en_US.so DESTINATION ${LIBDIR}) INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/lib/aarch64/libsmart-reply-engine-ko_KR.so DESTINATION ${LIBDIR}) else() ADD_DEFINITIONS("-D_EMULATOR") INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/lib/x86_64/libsmart-reply-engine-en_US.so DESTINATION ${LIBDIR}) INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/lib/x86_64/libsmart-reply-engine-ko_KR.so DESTINATION ${LIBDIR}) endif() #install resources INSTALL ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/korean/1.0 DESTINATION /usr/share/smartreply-service/res/ko_KR ) INSTALL ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/english/1.0 DESTINATION /usr/share/smartreply-service/res/en_US ) INSTALL ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/french/1.0 DESTINATION /usr/share/smartreply-service/res/fr_FR ) INSTALL ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/spanish/1.0 DESTINATION /usr/share/smartreply-service/res/es_ES ) INSTALL ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/german/1.0 DESTINATION /usr/share/smartreply-service/res/de_DE ) INSTALL ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/russian/1.0 DESTINATION /usr/share/smartreply-service/res/ru_RU ) INSTALL ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/italian/1.0 DESTINATION /usr/share/smartreply-service/res/it_IT ) # Common Options SET(CMAKE_INSTALL_PREFIX /usr) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) INCLUDE(FindPkgConfig) ADD_DEFINITIONS(-O2 -Wall -fPIC -fvisibility=hidden -Wl,--as-needed -Wl,--rpath=/usr/lib) # Building Daemon pkg_check_modules(daemon_pkg REQUIRED ${DEPS}) SET(DAEMON_EXTRA_CFLAGS -fPIE) FOREACH(flag ${daemon_pkg_CFLAGS}) SET(DAEMON_EXTRA_CFLAGS "${DAEMON_EXTRA_CFLAGS} ${flag}") SET(DAEMON_EXTRA_CXXFLAGS "${DAEMON_EXTRA_CXXFLAGS} ${flag}") ENDFOREACH(flag) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DAEMON_EXTRA_CFLAGS} -fPIE -Wall -Werror") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DAEMON_EXTRA_CXXFLAGS} -fPIE -Wall") ADD_EXECUTABLE(${target} ${SRCS}) TARGET_LINK_LIBRARIES(${target} ${daemon_pkg_LDFLAGS} -pie dl) SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_FLAGS ${DAEMON_EXTRA_CFLAGS}) #SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITIONS "LOG_TAG=\"SMARTREPLY-SERVICE\"") # Installing Daemon INSTALL(TARGETS ${target} DESTINATION /usr/bin) INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/files/access-config.xml DESTINATION /usr/share/smartreply-service) INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/files/smartreply_softreset.sh DESTINATION /usr/system/RestoreDir/softreset)