aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/pinyin/CMakeLists.txt
blob: 87c1f86e2c5f2ee07b0ffcf62e36455aa5804064 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause

add_subdirectory(3rdparty/pinyin)

#####################################################################
## QtVirtualKeyboardPinyinPlugin Plugin:
#####################################################################

qt_internal_add_qml_module(qtvkbpinyinplugin
    URI "QtQuick.VirtualKeyboard.Plugins.Pinyin"
    VERSION "${PROJECT_VERSION}"
    PAST_MAJOR_VERSIONS 2
    PLUGIN_TARGET qtvkbpinyinplugin
    NO_PLUGIN_OPTIONAL
    DEPENDENCIES
        QtQuick.VirtualKeyboard/auto
    SOURCES
        pinyindecoderservice.cpp pinyindecoderservice_p.h
        pinyininputmethod.cpp pinyininputmethod_p.h
    DEFINES
        QT_ASCII_CAST_WARNINGS
        QT_NO_CAST_FROM_ASCII
        QT_NO_CAST_FROM_BYTEARRAY
        QT_NO_CAST_TO_ASCII
    LIBRARIES
        Qt::Core
        Qt::Gui
        Qt::Qml
        Qt::VirtualKeyboard
        Qt::BundledPinyin
    NO_GENERATE_CPP_EXPORTS
)

# Resources:
set(qmake_virtualkeyboard_pinyin_layouts_resource_files
    "${VKB_LAYOUTS_BASE}/zh_CN/dialpad.fallback"
    "${VKB_LAYOUTS_BASE}/zh_CN/digits.fallback"
    "${VKB_LAYOUTS_BASE}/zh_CN/main.qml"
    "${VKB_LAYOUTS_BASE}/zh_CN/numbers.fallback"
    "${VKB_LAYOUTS_BASE}/zh_CN/symbols.qml"
)

qt_internal_add_resource(qtvkbpinyinplugin "qmake_virtualkeyboard_pinyin_layouts"
    PREFIX
        "${VKB_LAYOUTS_PREFIX}" #special case
    BASE
        "${VKB_LAYOUTS_BASE}" #special case
    FILES
        ${qmake_virtualkeyboard_pinyin_layouts_resource_files}
)

if (NOT FEATURE_vkb_no_bundle_pinyin)
    # Resources:
    set(qmake_pinyin_resource_files
        "3rdparty/pinyin/data/dict_pinyin.dat"
    )

    qt_internal_add_resource(qtvkbpinyinplugin "qmake_pinyin"
        PREFIX
            "/qt-project.org/imports/QtQuick/VirtualKeyboard"
        BASE
            "${CMAKE_CURRENT_SOURCE_DIR}"
        FILES
            ${qmake_pinyin_resource_files}
    )
else()
    qt_copy_or_install(
        DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/pinyin/data/"
        DESTINATION "${VKB_INSTALL_DATA}/pinyin"
        FILES_MATCHING
        PATTERN "*.dat"
    )
endif()