CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(inputdelegator CXX C) SET(INPUTDELEGATOR_SRCS src/MicEffector.cpp src/MoreOption.cpp src/SttFeedback.cpp src/SttManager.cpp src/w-input-emoticon.cpp src/w-input-keyboard.cpp src/w-input-selector.cpp src/w-input-stt-engine.cpp src/w-input-stt-ise.cpp src/WInputSttMicEffect.cpp src/w-input-stt-voice.cpp src/w-input-template.cpp src/w-input-smartreply.cpp src/voice-recorder.cpp ) SET(INPUTDELEGATOR_PACKAGE ${PROJECT_NAME}) SET(INPUTDELEGATOR_PKGNAME "org.tizen.${INPUTDELEGATOR_PACKAGE}") SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(INPUTDELEGATOR_BINDIR "${TZ_SYS_RO_APP}/${INPUTDELEGATOR_PKGNAME}/bin") SET(INPUTDELEGATOR_LIBDIR "${TZ_SYS_RO_APP}/${INPUTDELEGATOR_PKGNAME}/lib") SET(INPUTDELEGATOR_RESDIR "${TZ_SYS_RO_APP}/${INPUTDELEGATOR_PKGNAME}/res") IF("${CMAKE_BUILD_TYPE}" STREQUAL "") SET(CMAKE_BUILD_TYPE "Release") ENDIF() MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}") INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc ${CMAKE_SOURCE_DIR}/src ) INCLUDE(FindPkgConfig) SET(PKGS_CHECK_MODULES dlog capi-appfw-application capi-appfw-app-control capi-appfw-preference capi-media-wav-player capi-system-device eina elementary efl-extension feedback stt vconf db-util sqlite3 capi-media-audio-io capi-system-info smartreply capi-media-recorder capi-content-media-content storage ) pkg_check_modules(INPUTDELEGATOR_PKGS REQUIRED ${PKGS_CHECK_MODULES}) FOREACH(flag ${INPUTDELEGATOR_PKGS_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIE -Wall -Werror") #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -finstrument-functions") SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g") SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie") ADD_DEFINITIONS("-DEXPORTED=__attribute__((visibility(\"default\")))") ADD_DEFINITIONS(-DPACKAGE=\"/inputdelegator\") #ADD_DEFINITIONS("-DPACKAGE=\"${INPUTDELEGATOR_PKGNAME}\"") ADD_DEFINITIONS("-DPACKAGE_NAME=\"${INPUTDELEGATOR_PKGNAME}\"") ADD_DEFINITIONS("-DRESDIR=\"${INPUTDELEGATOR_RESDIR}\"") ADD_DEFINITIONS(-DINPUTDELEGATOR_NAME=\"/inputdelegator\") ADD_DEFINITIONS(-DSUPPORTS_EMOTICONS) ADD_EXECUTABLE(${PROJECT_NAME} ${INPUTDELEGATOR_SRCS}) if(${TARGET} STREQUAL "wearable") file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/wearable/edje) ADD_CUSTOM_TARGET(w-input-selector.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-selector.edc ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-selector.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-selector.edc) ADD_DEPENDENCIES(${PROJECT_NAME} w-input-selector.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-selector.edj DESTINATION ${INPUTDELEGATOR_RESDIR}/edje/wearable) ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt.edc ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt.edc) ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt.edj DESTINATION ${INPUTDELEGATOR_RESDIR}/edje/wearable) ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt-button.edc ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt-button.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt-button.edc) ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt-button.edj DESTINATION ${INPUTDELEGATOR_RESDIR}/edje/wearable) elseif(${TARGET} STREQUAL "tv") file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/tv/edje) ADD_CUSTOM_TARGET(w-input-selector.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-selector.edc ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-selector.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-selector.edc) ADD_DEPENDENCIES(${PROJECT_NAME} w-input-selector.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-selector.edj DESTINATION ${INPUTDELEGATOR_RESDIR}/edje/tv) ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt.edc ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt.edc) ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt.edj DESTINATION ${INPUTDELEGATOR_RESDIR}/edje/tv) ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt-button.edc ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt-button.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt-button.edc) ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt-button.edj DESTINATION ${INPUTDELEGATOR_RESDIR}/edje/tv) else() file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/mobile/edje) ADD_CUSTOM_TARGET(w-input-selector.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-selector.edc ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-selector.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-selector.edc) ADD_DEPENDENCIES(${PROJECT_NAME} w-input-selector.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-selector.edj DESTINATION ${INPUTDELEGATOR_RESDIR}/edje/mobile) ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt.edc ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt.edc) ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt.edj DESTINATION ${INPUTDELEGATOR_RESDIR}/edje/mobile) ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt-button.edc ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt-button.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt-button.edc) ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt-button.edj DESTINATION ${INPUTDELEGATOR_RESDIR}/edje/mobile) endif() TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${INPUTDELEGATOR_PKGS_LDFLAGS}) set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "") INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${INPUTDELEGATOR_BINDIR}) INSTALL(FILES ${CMAKE_SOURCE_DIR}/${INPUTDELEGATOR_PKGNAME}.xml DESTINATION ${TZ_SYS_RO_PACKAGES}) if(${TARGET} STREQUAL "wearable") FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/images/*.png") INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/wearable/images) FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/images/emoticons/*.png") INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/wearable/images/emoticons) elseif(${TARGET} STREQUAL "tv") FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/tv/images/*.png") INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/tv/images) FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/tv/images/emoticons/*.png") INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/tv/images/emoticons) else() FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/images/*.png") INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/mobile/images) FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/images/emoticons/*.png") INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/mobile/images/emoticons) endif() ADD_SUBDIRECTORY(po)