#### Inputs # input vkb-hunspell set(INPUT_vkb_hunspell "undefined" CACHE STRING "") set_property(CACHE INPUT_vkb_hunspell PROPERTY STRINGS undefined no 3rdparty system) # input vkb-cerence-sdk set(INPUT_vkb_cerence_sdk "" CACHE PATH "") #### Libraries qt_find_package(Hunspell PROVIDED_TARGETS Hunspell::Hunspell MODULE_NAME virtualkeyboard QMAKE_LIB hunspell) qt_find_package(CerenceHwrAlphabetic PROVIDED_TARGETS Cerence::HWR::Alphabetic MODULE_NAME virtualkeyboard QMAKE_LIB t9write-ucr) qt_find_package(CerenceHwrCjk PROVIDED_TARGETS Cerence::HWR::CJK MODULE_NAME virtualkeyboard QMAKE_LIB t9write-cjk) qt_find_package(CerenceXt9 PROVIDED_TARGETS Cerence::XT9 MODULE_NAME virtualkeyboard QMAKE_LIB xt9-acktn) qt_find_package(MyScript PROVIDED_TARGETS MyScript::VOIM MODULE_NAME virtualkeyboard QMAKE_LIB voim) #### Tests #### Features qt_feature("vkb-record-trace-input" PUBLIC LABEL "Input trace recording" AUTODETECT false ) qt_feature("vkb-arrow-keynavigation" PUBLIC LABEL "Key navigation" AUTODETECT false ) qt_feature("vkb-desktop" PUBLIC LABEL "Desktop integration" CONDITION NOT QT_FEATURE_cross_compile ) qt_feature("vkb-layouts" PUBLIC LABEL "Built-in layouts" ) qt_feature("vkb-no-builtin-style" PUBLIC LABEL "Disable builtin styles" AUTODETECT OFF ENABLE INPUT_vkb_style STREQUAL 'none' ) qt_feature("vkb-retro-style" PUBLIC LABEL "Retro style as default" AUTODETECT OFF ENABLE INPUT_vkb_style STREQUAL 'retro' ) qt_feature("vkb-default-style" PUBLIC LABEL "Default style" AUTODETECT ON CONDITION NOT QT_FEATURE_vkb_retro_style AND NOT QT_FEATURE_vkb_no_builtin_style ENABLE INPUT_vkb_style STREQUAL 'default' ) qt_feature("vkb-sensitive-debug" PRIVATE LABEL "Sensitive Debug" AUTODETECT OFF ) qt_feature("cerence-sdk" PRIVATE LABEL "Cerence" AUTODETECT CERENCE_HWR_ALPHABETIC_FOUND OR CERENCE_XT9_FOUND ) qt_feature("cerence-hwr" PRIVATE LABEL " Handwriting" CONDITION QT_FEATURE_cerence_hwr_alphabetic OR QT_FEATURE_cerence_hwr_cjk ENABLE INPUT_vkb_handwriting STREQUAL 'cerence-hwr' DISABLE NOT INPUT_vkb_handwriting STREQUAL '' AND NOT INPUT_vkb_handwriting STREQUAL 'cerence-hwr' ) qt_feature("cerence-hwr-alphabetic" PRIVATE LABEL " Alphabetic" CONDITION QT_FEATURE_cerence_sdk ENABLE INPUT_vkb_handwriting STREQUAL 'cerence-hwr' DISABLE NOT INPUT_vkb_handwriting STREQUAL '' AND NOT INPUT_vkb_handwriting STREQUAL 'cerence-hwr' AUTODETECT CERENCE_HWR_ALPHABETIC_FOUND ) qt_feature("cerence-hwr-cjk" PRIVATE LABEL " CJK" CONDITION QT_FEATURE_cerence_sdk ENABLE INPUT_vkb_handwriting STREQUAL 'cerence-hwr' DISABLE NOT INPUT_vkb_handwriting STREQUAL '' AND NOT INPUT_vkb_handwriting STREQUAL 'cerence-hwr' AUTODETECT CERENCE_HWR_CJK_FOUND ) qt_feature("vkb-bundle-cerence" PUBLIC LABEL " Bundle resources" AUTODETECT OFF ) qt_feature("vkb-bundle-cerence-hwr" PUBLIC LABEL " Handwriting" AUTODETECT OFF ENABLE FEATURE_vkb_bundle_cerence ) qt_feature("vkb-bundle-cerence-xt9" PUBLIC LABEL " XT9" AUTODETECT OFF ENABLE FEATURE_vkb_bundle_cerence ) qt_feature("cerence-xt9" PRIVATE LABEL " XT9" CONDITION CERENCE_XT9_FOUND ) qt_feature("vkb-cerence-xt9-debug" PUBLIC LABEL " XT9 Debug" AUTODETECT OFF ) qt_feature("vkb-cerence-xt9-9key-layouts" PUBLIC LABEL " XT9 9-key layouts" AUTODETECT OFF ) qt_feature("vkb-cerence-static" PUBLIC LABEL " Static Linking" AUTODETECT OFF ) qt_feature("system-hunspell" PRIVATE LABEL "System Hunspell" CONDITION Hunspell_FOUND ) qt_feature("3rdparty-hunspell" PRIVATE LABEL " Using Hunspell copy from 3rdparty/" CONDITION VKB_HAVE_3RDPARTY_HUNSPELL DISABLE INPUT_vkb_hunspell STREQUAL 'no' OR INPUT_vkb_hunspell STREQUAL 'system' ) qt_feature("hunspell" PRIVATE LABEL "Hunspell" CONDITION QT_FEATURE_3rdparty_hunspell OR QT_FEATURE_system_hunspell DISABLE QT_FEATURE_cerence_xt9 ) qt_feature("openwnn" PRIVATE LABEL "OpenWnn" AUTODETECT ( NOT INPUT_lang_ja_JP STREQUAL 'no' ) DISABLE QT_FEATURE_cerence_xt9 ) qt_feature("myscript" PRIVATE LABEL "MyScript" CONDITION MyScript_FOUND ENABLE INPUT_vkb_handwriting STREQUAL 'myscript-hwr' DISABLE NOT INPUT_vkb_handwriting STREQUAL '' AND NOT INPUT_vkb_handwriting STREQUAL 'myscript-hwr' ) qt_feature("pinyin" PRIVATE LABEL "libpinyin" AUTODETECT ( NOT INPUT_lang_ch_CN STREQUAL 'no' ) CONDITION QT_FEATURE_thread DISABLE QT_FEATURE_cerence_xt9 ) qt_feature("vkb-no-bundle-pinyin" PRIVATE LABEL "Disable resource bundle for the pinyin" AUTODETECT OFF ) qt_feature("tcime" PRIVATE LABEL "Traditional Chinese IME (tcime)" AUTODETECT ( NOT INPUT_lang_ch_TW STREQUAL 'no' ) CONDITION QT_FEATURE_zhuyin OR QT_FEATURE_cangjie DISABLE QT_FEATURE_cerence_xt9 ) qt_feature("vkb-no-bundle-tcime" PRIVATE LABEL "Disable resource bundle for the tcime" AUTODETECT OFF ) qt_feature("zhuyin" PRIVATE LABEL "Zhuyin" AUTODETECT ( NOT INPUT_lang_zh_TW STREQUAL 'no' ) DISABLE QT_FEATURE_cerence_xt9 ) qt_feature("cangjie" PRIVATE LABEL "Cangjie" AUTODETECT ( NOT INPUT_lang_zh_TW STREQUAL 'no' ) DISABLE QT_FEATURE_cerence_xt9 ) qt_feature("hangul" PRIVATE LABEL "Hangul" AUTODETECT ( NOT INPUT_lang_ko_KR STREQUAL 'no' ) DISABLE QT_FEATURE_cerence_xt9 ) qt_feature("thai" PRIVATE LABEL "Thai" AUTODETECT ( NOT INPUT_lang_th_TH STREQUAL 'no' ) DISABLE QT_FEATURE_cerence_xt9 ) qt_feature("vkb-lang-ar_AR" PRIVATE LABEL "Arabic" AUTODETECT ( NOT INPUT_lang_ar_AR STREQUAL 'no' ) ) qt_feature("vkb-lang-bg_BG" PRIVATE LABEL "Bulgarian" AUTODETECT ( NOT INPUT_lang_bg_BG STREQUAL 'no' ) ) qt_feature("vkb-lang-cs_CZ" PRIVATE LABEL "Czech" AUTODETECT ( NOT INPUT_lang_cs_CZ STREQUAL 'no' ) ) qt_feature("vkb-lang-da_DK" PRIVATE LABEL "Danish" AUTODETECT ( NOT INPUT_lang_da_DK STREQUAL 'no' ) ) qt_feature("vkb-lang-de_DE" PRIVATE LABEL "German" AUTODETECT ( NOT INPUT_lang_de_DE STREQUAL 'no' ) ) qt_feature("vkb-lang-el_GR" PRIVATE LABEL "Greek" AUTODETECT ( NOT INPUT_lang_el_GR STREQUAL 'no' ) ) qt_feature("vkb-lang-en_GB" PRIVATE LABEL "English GB" AUTODETECT ( NOT INPUT_lang_en_GB STREQUAL 'no' ) ) qt_feature("vkb-lang-en_US" PRIVATE LABEL "English US" AUTODETECT ( NOT INPUT_lang_en_US STREQUAL 'no' ) ) qt_feature("vkb-lang-es_ES" PRIVATE LABEL "Spanish" AUTODETECT ( NOT INPUT_lang_es_ES STREQUAL 'no' ) ) qt_feature("vkb-lang-es_MX" PRIVATE LABEL "Spanish Mexico" AUTODETECT ( NOT INPUT_lang_es_MX STREQUAL 'no' ) ) qt_feature("vkb-lang-et_EE" PRIVATE LABEL "Estonian" AUTODETECT ( NOT INPUT_lang_et_EE STREQUAL 'no' ) ) qt_feature("vkb-lang-fa_FA" PRIVATE LABEL "Farsi" AUTODETECT ( NOT INPUT_lang_fa_FA STREQUAL 'no' ) ) qt_feature("vkb-lang-fi_FI" PRIVATE LABEL "Finnish" AUTODETECT ( NOT INPUT_lang_fi_FI STREQUAL 'no' ) ) qt_feature("vkb-lang-fr_CA" PRIVATE LABEL "French Canada" AUTODETECT ( NOT INPUT_lang_fr_CA STREQUAL 'no' ) ) qt_feature("vkb-lang-fr_FR" PRIVATE LABEL "French France" AUTODETECT ( NOT INPUT_lang_fr_FR STREQUAL 'no' ) ) qt_feature("vkb-lang-he_IL" PRIVATE LABEL "Hebrew" AUTODETECT ( NOT INPUT_lang_he_IL STREQUAL 'no' ) ) qt_feature("vkb-lang-hi_IN" PRIVATE LABEL "Hindi" AUTODETECT ( NOT INPUT_lang_hi_IN STREQUAL 'no' ) ) qt_feature("vkb-lang-hr_HR" PRIVATE LABEL "Croatian" AUTODETECT ( NOT INPUT_lang_hr_HR STREQUAL 'no' ) ) qt_feature("vkb-lang-hu_HU" PRIVATE LABEL "Hungarian" AUTODETECT ( NOT INPUT_lang_hu_HU STREQUAL 'no' ) ) qt_feature("vkb-lang-id_ID" PRIVATE LABEL "Indonesian" AUTODETECT ( NOT INPUT_lang_id_ID STREQUAL 'no' ) ) qt_feature("vkb-lang-it_IT" PRIVATE LABEL "Italian" AUTODETECT ( NOT INPUT_lang_it_IT STREQUAL 'no' ) ) qt_feature("vkb-lang-ja_JP" PRIVATE LABEL "Japanese" CONDITION QT_FEATURE_openwnn OR QT_FEATURE_cerence_xt9 ) qt_feature("vkb-lang-ko_KR" PRIVATE LABEL "Korean" AUTODETECT ( NOT INPUT_lang_ko_KR STREQUAL 'no' ) ) qt_feature("vkb-lang-ms_MY" PRIVATE LABEL "Malay" AUTODETECT ( NOT INPUT_lang_ms_MY STREQUAL 'no' ) ) qt_feature("vkb-lang-nb_NO" PRIVATE LABEL "Norwegian" AUTODETECT ( NOT INPUT_lang_nb_NO STREQUAL 'no' ) ) qt_feature("vkb-lang-nl_NL" PRIVATE LABEL "Dutch" AUTODETECT ( NOT INPUT_lang_nl_NL STREQUAL 'no' ) ) qt_feature("vkb-lang-pl_PL" PRIVATE LABEL "Polish" AUTODETECT ( NOT INPUT_lang_pl_PL STREQUAL 'no' ) ) qt_feature("vkb-lang-pt_BR" PRIVATE LABEL "Portuguese Brazil" AUTODETECT ( NOT INPUT_lang_pt_BR STREQUAL 'no' ) ) qt_feature("vkb-lang-pt_PT" PRIVATE LABEL "Portuguese Portugal" AUTODETECT ( NOT INPUT_lang_pt_PT STREQUAL 'no' ) ) qt_feature("vkb-lang-ro_RO" PRIVATE LABEL "Romanian" AUTODETECT ( NOT INPUT_lang_ro_RO STREQUAL 'no' ) ) qt_feature("vkb-lang-ru_RU" PRIVATE LABEL "Russian" AUTODETECT ( NOT INPUT_lang_ru_RU STREQUAL 'no' ) ) qt_feature("vkb-lang-sk_SK" PRIVATE LABEL "Slovak" AUTODETECT ( NOT INPUT_lang_sk_SK STREQUAL 'no' ) ) qt_feature("vkb-lang-sl_SI" PRIVATE LABEL "Slovenian" AUTODETECT ( NOT INPUT_lang_sl_SI STREQUAL 'no' ) ) qt_feature("vkb-lang-sq_AL" PRIVATE LABEL "Albanian" AUTODETECT ( NOT INPUT_lang_sq_AL STREQUAL 'no' ) ) qt_feature("vkb-lang-sr_SP" PRIVATE LABEL "Serbian" AUTODETECT ( NOT INPUT_lang_sr_SP STREQUAL 'no' ) ) qt_feature("vkb-lang-sv_SE" PRIVATE LABEL "Swedish" AUTODETECT ( NOT INPUT_lang_sv_SE STREQUAL 'no' ) ) qt_feature("vkb-lang-th_TH" PRIVATE LABEL "Thai" CONDITION QT_FEATURE_thai OR QT_FEATURE_cerence_xt9 ) qt_feature("vkb-lang-tr_TR" PRIVATE LABEL "Turkish" AUTODETECT ( NOT INPUT_lang_tr_TR STREQUAL 'no' ) ) qt_feature("vkb-lang-uk_UA" PRIVATE LABEL "Ukrainian" AUTODETECT ( NOT INPUT_lang_uk_UA STREQUAL 'no' ) ) qt_feature("vkb-lang-vi_VN" PRIVATE LABEL "Vietnamese" AUTODETECT ( NOT INPUT_lang_vi_VN STREQUAL 'no' ) ) qt_feature("vkb-lang-zh_CN" PRIVATE LABEL "Simplified Chinese" AUTODETECT ( NOT INPUT_lang_zh_CN STREQUAL 'no' ) CONDITION QT_FEATURE_pinyin OR QT_FEATURE_cerence_xt9 ) qt_feature("vkb-lang-zh_TW" PRIVATE LABEL "Traditional Chinese" AUTODETECT ( NOT INPUT_lang_zh_TW STREQUAL 'no' ) CONDITION QT_FEATURE_tcime OR QT_FEATURE_zhuyin OR QT_FEATURE_cangjie OR QT_FEATURE_cerence_xt9 ) qt_feature("vkb-lang-zh_HK" PRIVATE LABEL "HongKong Chinese" AUTODETECT ( NOT INPUT_lang_zh_HK STREQUAL 'no' ) CONDITION QT_FEATURE_cerence_xt9 ) qt_configure_add_summary_section(NAME "Qt Virtualkeyboard") qt_configure_add_summary_entry(ARGS "vkb-desktop") qt_configure_add_summary_entry(ARGS "vkb-layouts") qt_configure_add_summary_entry(ARGS "vkb-arrow-keynavigation") qt_configure_add_summary_entry(ARGS "vkb-retro-style") qt_configure_add_summary_entry(ARGS "vkb-sensitive-debug") qt_configure_add_summary_entry(ARGS "cerence-sdk") qt_configure_add_summary_entry(ARGS "vkb-cerence-static") qt_configure_add_summary_entry(ARGS "cerence-hwr") qt_configure_add_summary_entry(ARGS "cerence-hwr-alphabetic") qt_configure_add_summary_entry(ARGS "cerence-hwr-cjk") qt_configure_add_summary_entry(ARGS "cerence-xt9") qt_configure_add_summary_entry(ARGS "vkb-cerence-xt9-debug") qt_configure_add_summary_entry(ARGS "vkb-cerence-xt9-9key-layouts") qt_configure_add_summary_entry(ARGS "vkb-bundle-cerence") qt_configure_add_summary_entry(ARGS "vkb-bundle-cerence-hwr") qt_configure_add_summary_entry(ARGS "vkb-bundle-cerence-xt9") qt_configure_add_summary_entry(ARGS "hunspell") qt_configure_add_summary_entry(ARGS "3rdparty-hunspell") qt_configure_add_summary_entry(ARGS "openwnn") qt_configure_add_summary_entry(ARGS "myscript") qt_configure_add_summary_section(NAME "Language support enabled for") qt_configure_add_summary_entry(ARGS "vkb-lang-ar_AR") qt_configure_add_summary_entry(ARGS "vkb-lang-bg_BG") qt_configure_add_summary_entry(ARGS "vkb-lang-cs_CZ") qt_configure_add_summary_entry(ARGS "vkb-lang-da_DK") qt_configure_add_summary_entry(ARGS "vkb-lang-de_DE") qt_configure_add_summary_entry(ARGS "vkb-lang-el_GR") qt_configure_add_summary_entry(ARGS "vkb-lang-en_GB") qt_configure_add_summary_entry(ARGS "vkb-lang-en_US") qt_configure_add_summary_entry(ARGS "vkb-lang-es_ES") qt_configure_add_summary_entry(ARGS "vkb-lang-es_MX") qt_configure_add_summary_entry(ARGS "vkb-lang-et_EE") qt_configure_add_summary_entry(ARGS "vkb-lang-fa_FA") qt_configure_add_summary_entry(ARGS "vkb-lang-fi_FI") qt_configure_add_summary_entry(ARGS "vkb-lang-fr_CA") qt_configure_add_summary_entry(ARGS "vkb-lang-fr_FR") qt_configure_add_summary_entry(ARGS "vkb-lang-he_IL") qt_configure_add_summary_entry(ARGS "vkb-lang-hi_IN") qt_configure_add_summary_entry(ARGS "vkb-lang-hr_HR") qt_configure_add_summary_entry(ARGS "vkb-lang-hu_HU") qt_configure_add_summary_entry(ARGS "vkb-lang-id_ID") qt_configure_add_summary_entry(ARGS "vkb-lang-it_IT") qt_configure_add_summary_entry(ARGS "vkb-lang-ja_JP") qt_configure_add_summary_entry(ARGS "vkb-lang-ko_KR") qt_configure_add_summary_entry(ARGS "vkb-lang-ms_MY") qt_configure_add_summary_entry(ARGS "vkb-lang-nb_NO") qt_configure_add_summary_entry(ARGS "vkb-lang-nl_NL") qt_configure_add_summary_entry(ARGS "vkb-lang-pl_PL") qt_configure_add_summary_entry(ARGS "vkb-lang-pt_BR") qt_configure_add_summary_entry(ARGS "vkb-lang-pt_PT") qt_configure_add_summary_entry(ARGS "vkb-lang-ro_RO") qt_configure_add_summary_entry(ARGS "vkb-lang-ru_RU") qt_configure_add_summary_entry(ARGS "vkb-lang-sk_SK") qt_configure_add_summary_entry(ARGS "vkb-lang-sl_SI") qt_configure_add_summary_entry(ARGS "vkb-lang-sq_AL") qt_configure_add_summary_entry(ARGS "vkb-lang-sr_SP") qt_configure_add_summary_entry(ARGS "vkb-lang-sv_SE") qt_configure_add_summary_entry(ARGS "vkb-lang-th_TH") qt_configure_add_summary_entry(ARGS "vkb-lang-tr_TR") qt_configure_add_summary_entry(ARGS "vkb-lang-uk_UA") qt_configure_add_summary_entry(ARGS "vkb-lang-vi_VN") qt_configure_add_summary_entry(ARGS "vkb-lang-zh_CN") qt_configure_add_summary_entry(ARGS "vkb-lang-zh_TW") qt_configure_add_summary_entry(ARGS "vkb-lang-zh_HK") qt_configure_end_summary_section() # end of "Language support enabled for" section qt_configure_add_summary_section(NAME "Traditional chinese input methods") qt_configure_add_summary_entry(ARGS "zhuyin") qt_configure_add_summary_entry(ARGS "cangjie") qt_configure_end_summary_section() # end of "Traditional chinese input methods" section qt_configure_end_summary_section() # end of "Qt Virtualkeyboard" section qt_configure_add_report_entry( TYPE ERROR MESSAGE "MyScript SDK could not be found. For more information, see the documentation in 'Building Qt Virtual Keyboard'." CONDITION INPUT_vkb_handwriting STREQUAL 'myscript-hwr' AND NOT QT_FEATURE_myscript ) qt_configure_add_report_entry( TYPE ERROR MESSAGE "Cerence HWR SDK could not be found. For more information, see the documentation in 'Building Qt Virtual Keyboard'." CONDITION INPUT_vkb_handwriting STREQUAL 'cerence-hwr' AND NOT QT_FEATURE_cerence_hwr ) qt_configure_add_report_entry( TYPE NOTE MESSAGE "Hunspell in Qt Virtual Keyboard is not enabled. Spelling correction will not be available." CONDITION NOT QT_FEATURE_hunspell )