Update package version to 0.1.181026
[platform/core/uifw/inputdelegator.git] / CMakeLists.txt
index 1fa53c2..939043b 100755 (executable)
 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(PKGS REQUIRED ${PKGS_CHECK_MODULES})
+pkg_check_modules(INPUTDELEGATOR_PKGS REQUIRED ${PKGS_CHECK_MODULES})
 
-FOREACH(flag ${PKGS_CFLAGS})
+FOREACH(flag ${INPUTDELEGATOR_PKGS_CFLAGS})
     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-    SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
 ENDFOREACH(flag)
 
-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")
+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-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-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-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)