advance pinyin integration

This commit is contained in:
Rick Vogel 2022-11-04 14:19:30 +01:00
parent 92a475f335
commit 0842e9506a
5 changed files with 27 additions and 12 deletions

View File

@ -8,6 +8,8 @@ set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
include(${CMAKE_SOURCE_DIR}/features/qskconfig.cmake)
if("${Qt5_DIR}" STREQUAL "" AND "${Qt6_DIR}" STREQUAL "")
message(FATAL_ERROR "Neither Qt5_DIR nor Qt6_DIR defined!")
else()
@ -59,13 +61,13 @@ elseif(NOT "${Qt6_DIR}" STREQUAL "")
endif()
# optional package hunspell
if(NOT UNIX AND ENABLE_HUNSPELL)
if(NOT LINUX AND ENABLE_HUNSPELL)
message(WARNING "Feature 'hunspell' only available for UNIX!")
unset(ENABLE_HUNSPELL CACHE)
endif()
# optional package pinyin
if(NOT UNIX AND ENABLE_PINYIN)
if(NOT LINUX AND ENABLE_PINYIN)
message(WARNING "Feature 'pinyin' only available for UNIX!")
unset(ENABLE_PINYIN CACHE)
endif()
@ -160,6 +162,8 @@ install(
FILES
cmake/${PACKAGE_NAME}Config.cmake
cmake/${PACKAGE_NAME}Macros.cmake
cmake/${PACKAGE_NAME}OptionalHunspell.cmake
cmake/${PACKAGE_NAME}OptionalPinyin.cmake
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}ConfigVersion.cmake
DESTINATION
${PACKAGE_LOCATION}

View File

@ -39,6 +39,10 @@ On debian bullseye these packages need to be installed: `build-essential
qt-qmake qtbase5-dev qtbase5-private-dev qtdeclarative5-dev
qtdeclarative5-private-dev libqt5svg5-dev`.
> Optional: When enabling the `hunspell` feature the following package needs to be installed: `libhunspell-dev`
> Optional: When enabling the `pinyin` feature the following package needs to be installed: `libimepinyin-dev`
If you want to know more about QSkinny - or even like to give it a specific
direction - please contact support@qskinny.org.

View File

@ -2,7 +2,7 @@ find_package(PkgConfig)
pkg_check_modules(PKG_PINYIN QUIET pinyin)
find_path(PINYIN_INCLUDE_DIRS
NAMES pinyinime.h
PATH_SUFFIXES pinyin LibIME/libime/pinyin
PATH_SUFFIXES pinyin LibIME LibIME/libime/pinyin
HINTS ${PKG_PINYIN_INCLUDE_DIRS})
find_library(PINYIN_LIBRARIES
NAMES ${PKG_PINYIN_LIBRARIES} IMEPinyin imepinyin ime libime libimepinyin
@ -17,4 +17,7 @@ add_library(pinyin SHARED IMPORTED GLOBAL)
set_target_properties(pinyin PROPERTIES IMPORTED_LOCATION ${PINYIN_LIBRARIES})
target_include_directories(pinyin
INTERFACE
${PINYIN_INCLUDE_DIRS})
${PINYIN_INCLUDE_DIRS})
find_package(LibIMEPinyin REQUIRED)
find_package(Fcitx5Utils REQUIRED)

View File

@ -28,7 +28,8 @@ add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_O
if(ENABLE_PINYIN)
target_link_libraries(${TARGET_NAME}
PRIVATE
pinyin)
pinyin
Fcitx5::Utils)
endif()
if(ENABLE_HUNSPELL)

View File

@ -1,4 +1,3 @@
include(${CMAKE_SOURCE_DIR}/features/qskconfig.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/QSkinnyMacros.cmake)
list(APPEND TARGET_HEADERS
@ -396,13 +395,12 @@ endif()
target_include_directories(${TARGET_NAME}
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/common>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/common>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/graphic>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/nodes>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/controls>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/layouts>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/dialogs>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/inputpanel>)
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/graphic>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/inputpanel>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/layouts>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/nodes>)
target_include_directories(${TARGET_NAME}
INTERFACE
@ -433,7 +431,12 @@ if(ENABLE_PINYIN)
target_link_libraries(${TARGET_NAME}
PRIVATE
pinyin)
pinyin
Fcitx5::Utils)
target_include_directories(${TARGET_NAME}
PUBLIC
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/inputcontext>)
endif()
set_target_properties(${TARGET_NAME}