CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(ise-default CXX) SET(ISE_SRCS src/ise.cpp src/languages.cpp src/ise-language-change.cpp src/ise-tutorial-mode.cpp src/config.cpp src/imdata.cpp src/ise-stt-mode.cpp src/ise-stt-option.cpp src/ise-stt-common.cpp src/ise-floating-mode.cpp src/MicEffector.cpp src/SttFeedback.cpp src/SttManager.cpp src/WInputSttMicEffect.cpp src/sdk/ise_lang_table.cpp src/sdk/cji.cpp src/sdk/sdk.cpp src/candidate/candidate-factory.cpp src/candidate/candidate.cpp src/candidate/efl/candidate-efl.cpp src/candidate/efl/candidate-multiline-efl.cpp src/autofill.cpp src/ise-dbus.cpp src/ise-emoticon-list.cpp src/ise-emoticon-mode.cpp src/modeindicator.cpp src/eflutil.cpp src/w-input-smartreply.cpp ) SET(ISE_SETTING_SRCS src/config.cpp src/ise-stt-option.cpp src/option.cpp src/sdk/sdk_option.cpp src/eflutil.cpp src/languages.cpp src/sdk/ise_lang_table.cpp src/autofill.cpp ) SET(ISE_PACKAGE ${PROJECT_NAME}) SET(ISE_PKGNAME ${PACKAGE}) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(ISE_BINDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/bin") SET(ISE_LIBDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/lib") SET(ISE_RESDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/res") SET(ISE_LAYOUTDIR "${ISE_RESDIR}/720x1280/default") IF("${CMAKE_BUILD_TYPE}" STREQUAL "") SET(CMAKE_BUILD_TYPE "Release") ENDIF() MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}") INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/candidate/include ${CMAKE_SOURCE_DIR}/src/candidate/efl ) INCLUDE(FindPkgConfig) SET(PKGS_CHECK_MODULES elementary efl-extension dlog libscl-ui ecore-imf vconf libxml-2.0 stt capi-appfw-application capi-appfw-preference capi-media-sound-manager capi-ui-inputmethod capi-system-system-settings smartreply key-manager ode glib-2.0 dbus-1 gio-2.0 pkgmgr-info ) IF (with_cbhm) ADD_DEFINITIONS("-DHAVE_CBHM") SET(PKGS_CHECK_MODULES ${PKGS_CHECK_MODULES} cbhm) ENDIF(with_cbhm) pkg_check_modules(ISE_PKGS REQUIRED ${PKGS_CHECK_MODULES}) FOREACH(flag ${ISE_PKGS_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(SETTING_PKGS_CHECK_MODULES elementary efl-extension dlog vconf libxml-2.0 capi-appfw-application capi-appfw-preference capi-system-system-settings key-manager ) pkg_check_modules(ISE_SETTING_PKGS REQUIRED ${SETTING_PKGS_CHECK_MODULES}) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIE -Wall -fpermissive -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=\"${ISE_PACKAGE}\"") ADD_DEFINITIONS("-DPACKAGE_NAME=\"${ISE_PKGNAME}\"") ADD_DEFINITIONS("-DRESDIR=\"${ISE_RESDIR}\"") ADD_DEFINITIONS("-DLAYOUTDIR=\"${ISE_LAYOUTDIR}\"") ADD_DEFINITIONS(-DISE_NAME=\"/ise-default\") ADD_DEFINITIONS(-DSUPPORTS_EMOTICONS) ADD_EXECUTABLE(${PROJECT_NAME} ${ISE_SRCS}) ADD_EXECUTABLE(${PROJECT_NAME}-setting ${ISE_SETTING_SRCS}) # For edc File ADD_CUSTOM_TARGET( candidate-single.edj COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc ${CMAKE_BINARY_DIR}/candidate-single.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc ) ADD_DEPENDENCIES(${PROJECT_NAME} candidate-single.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-single.edj DESTINATION ${ISE_RESDIR}/edje) # For edc File end # For edc File ADD_CUSTOM_TARGET( candidate-multiline.edj COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc ${CMAKE_BINARY_DIR}/candidate-multiline.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc ) ADD_DEPENDENCIES(${PROJECT_NAME} candidate-multiline.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-multiline.edj DESTINATION ${ISE_RESDIR}/edje) # For edc File end # For edc File ADD_CUSTOM_TARGET( customised_gengrid.edj COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc ${CMAKE_BINARY_DIR}/customised_gengrid.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc) ADD_DEPENDENCIES(${PROJECT_NAME} customised_gengrid.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/customised_gengrid.edj DESTINATION ${ISE_RESDIR}/edje) ADD_CUSTOM_TARGET( layout_keypad.edj COMMAND edje_cc -no-save ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc ${CMAKE_BINARY_DIR}/layout_keypad.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc) ADD_DEPENDENCIES(${PROJECT_NAME} layout_keypad.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/layout_keypad.edj DESTINATION ${ISE_RESDIR}/edje) ADD_CUSTOM_TARGET( customised_ctxpopup.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile -sd ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/customised_ctxpopup.edc ${CMAKE_BINARY_DIR}/customised_ctxpopup.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/customised_ctxpopup.edc) ADD_DEPENDENCIES(${PROJECT_NAME} customised_ctxpopup.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/customised_ctxpopup.edj DESTINATION ${ISE_RESDIR}/edje/mobile) if(${TARGET} STREQUAL "wearable") file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/wearable/edje) 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 ${ISE_RESDIR}/edje/wearable) ADD_CUSTOM_TARGET(popup_custom.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/popup_custom.edc ${CMAKE_BINARY_DIR}/res/wearable/edje/popup_custom.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/popup_custom.edc) ADD_DEPENDENCIES(${PROJECT_NAME} popup_custom.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/popup_custom.edj DESTINATION ${ISE_RESDIR}/edje/wearable) ADD_CUSTOM_TARGET(tutorial_popup.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/tutorial_popup.edc ${CMAKE_BINARY_DIR}/res/wearable/edje/tutorial_popup.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/tutorial_popup.edc) ADD_DEPENDENCIES(${PROJECT_NAME} tutorial_popup.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/tutorial_popup.edj DESTINATION ${ISE_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 ${ISE_RESDIR}/edje/wearable) elseif(${TARGET} STREQUAL "tv") file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/tv/edje) 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 ${ISE_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 ${ISE_RESDIR}/edje/tv) ADD_CUSTOM_TARGET(popup_custom.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_custom.edc ${CMAKE_BINARY_DIR}/res/tv/edje/popup_custom.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_custom.edc) ADD_DEPENDENCIES(${PROJECT_NAME} popup_custom.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/popup_custom.edj DESTINATION ${ISE_RESDIR}/edje/tv) ADD_CUSTOM_TARGET(popup_keyboard.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_keyboard.edc ${CMAKE_BINARY_DIR}/res/tv/edje/popup_keyboard.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_keyboard.edc) ADD_DEPENDENCIES(${PROJECT_NAME} popup_keyboard.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/popup_keyboard.edj DESTINATION ${ISE_RESDIR}/edje/tv) elseif(${TARGET} STREQUAL "common") file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/common/edje) ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/common/images ${CMAKE_CURRENT_SOURCE_DIR}/res/common/edje/w-input-stt.edc ${CMAKE_BINARY_DIR}/res/common/edje/w-input-stt.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/common/edje/w-input-stt.edc) ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/common/edje/w-input-stt.edj DESTINATION ${ISE_RESDIR}/edje/common) ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/common/images ${CMAKE_CURRENT_SOURCE_DIR}/res/common/edje/w-input-stt-button.edc ${CMAKE_BINARY_DIR}/res/common/edje/w-input-stt-button.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/common/edje/w-input-stt-button.edc) ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/common/edje/w-input-stt-button.edj DESTINATION ${ISE_RESDIR}/edje/common) ADD_CUSTOM_TARGET(popup_custom.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/common/images ${CMAKE_CURRENT_SOURCE_DIR}/res/common/edje/popup_custom.edc ${CMAKE_BINARY_DIR}/res/common/edje/popup_custom.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/common/edje/popup_custom.edc) ADD_DEPENDENCIES(${PROJECT_NAME} popup_custom.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/common/edje/popup_custom.edj DESTINATION ${ISE_RESDIR}/edje/common) else() file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/mobile/edje) 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 ${ISE_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 ${ISE_RESDIR}/edje/mobile) ADD_CUSTOM_TARGET(popup_custom.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/popup_custom.edc ${CMAKE_BINARY_DIR}/res/mobile/edje/popup_custom.edj DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/popup_custom.edc) ADD_DEPENDENCIES(${PROJECT_NAME} popup_custom.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/popup_custom.edj DESTINATION ${ISE_RESDIR}/edje/mobile) endif() # For edc File end TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ISE_PKGS_LDFLAGS}) TARGET_LINK_LIBRARIES(${PROJECT_NAME}-setting ${ISE_SETTING_PKGS_LDFLAGS}) set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "") INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${ISE_BINDIR}) INSTALL(TARGETS ${PROJECT_NAME}-setting DESTINATION ${ISE_BINDIR}) INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.xml DESTINATION ${TZ_SYS_RO_PACKAGES}) if(${TARGET} STREQUAL "wearable") FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/images/*.png") INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/wearable/images) elseif(${TARGET} STREQUAL "tv") FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/tv/images/*.png") INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/tv/images) elseif(${TARGET} STREQUAL "common") FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/common/images/*.png") INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/common/images) else() FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/images/*.png") INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/mobile/images) endif() if(${TARGET} STREQUAL "tv") INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/tv/ DESTINATION ${ISE_LAYOUTDIR}/tv/image) INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/tv/ DESTINATION ${ISE_LAYOUTDIR}/tv FILES_MATCHING PATTERN "*.xml") elseif(${TARGET} STREQUAL "wearable") INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/wearable/ DESTINATION ${ISE_LAYOUTDIR}/wearable/image) INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/wearable/ DESTINATION ${ISE_LAYOUTDIR}/wearable FILES_MATCHING PATTERN "*.xml") elseif(${TARGET} STREQUAL "common") INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/common/ DESTINATION ${ISE_LAYOUTDIR}/common/image) INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/common/ DESTINATION ${ISE_LAYOUTDIR}/common FILES_MATCHING PATTERN "*.xml") else() INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/mobile/ DESTINATION ${ISE_LAYOUTDIR}/mobile/image) INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/mobile/ DESTINATION ${ISE_LAYOUTDIR}/mobile FILES_MATCHING PATTERN "*.xml") endif() ADD_SUBDIRECTORY(po)