CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(org.tizen.inputdelegator CXX C)
+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(GNUInstallDirs)
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
+ )
-SET(VERSION_MAJOR 1)
-SET(VERSION ${VERSION_MAJOR}.0.0)
+pkg_check_modules(INPUTDELEGATOR_PKGS REQUIRED ${PKGS_CHECK_MODULES})
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -fPIE")
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -Wall -fPIE")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -Wall -fPIE")
-SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall -fPIE")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fPIE")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g -fPIE")
+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_SUBDIRECTORY(src)
-ADD_SUBDIRECTORY(po)
+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-selector.edj
- COMMAND edje_cc
- -id ${CMAKE_SOURCE_DIR}/edje/images
- ${CMAKE_SOURCE_DIR}/res/edje/w-input-selector.edc
- ${CMAKE_BINARY_DIR}/res/edje/w-input-selector.edj
- DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/w-input-selector.edc)
-
-ADD_DEPENDENCIES(inputdelegator w-input-selector.edj)
-
-ADD_CUSTOM_TARGET(w-input-stt.edj
- COMMAND edje_cc
- -id ${CMAKE_SOURCE_DIR}/edje/images
- ${CMAKE_SOURCE_DIR}/res/edje/w-input-stt.edc
- ${CMAKE_BINARY_DIR}/res/edje//w-input-stt.edj
- DEPENDS ${CMAKE_SOURCE_DIR}/res/edje//w-input-stt.edc)
-
-ADD_DEPENDENCIES(inputdelegator w-input-stt.edj)
-
-ADD_CUSTOM_TARGET(w-input-stt-button.edj
- COMMAND edje_cc
- -id ${CMAKE_SOURCE_DIR}/edje/images
- ${CMAKE_SOURCE_DIR}/res/edje/w-input-stt-button.edc
- ${CMAKE_BINARY_DIR}/res/edje/w-input-stt-button.edj
- DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/w-input-stt-button.edc)
-
-ADD_DEPENDENCIES(inputdelegator w-input-stt-button.edj)
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/w-input-selector.edj
- DESTINATION res/edje)
-INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/w-input-stt.edj
- DESTINATION res/edje)
-INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/w-input-stt-button.edj
- DESTINATION res/edje)
-
-FILE(GLOB_RECURSE W_INPUT_SELECTOR_IMAGES "${CMAKE_SOURCE_DIR}/res/images/*.png")
-INSTALL(FILES ${W_INPUT_SELECTOR_IMAGES} DESTINATION res/images)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/shared/res/w-input-selector.png DESTINATION shared/res)
+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)