X11TK: Introduce Thai support and rewrite/cleanup messagebox positioning code (#14474)

This commit is contained in:
eafton
2025-11-21 02:26:46 +03:00
committed by GitHub
parent 92eaa34277
commit 36976ecb43
10 changed files with 840 additions and 441 deletions

View File

@@ -588,6 +588,31 @@ macro(CheckFribidi)
endif()
endmacro()
macro(CheckLibThai)
if(SDL_LIBTHAI)
set(LIBTHAI_PKG_CONFIG_SPEC libthai)
set(PC_LIBTHAI_FOUND FALSE)
if(PKG_CONFIG_FOUND)
pkg_check_modules(PC_LIBTHAI IMPORTED_TARGET ${LIBTHAI_PKG_CONFIG_SPEC})
endif()
if(PC_LIBTHAI_FOUND)
set(HAVE_LIBTHAI TRUE)
set(HAVE_LIBTHAI_H 1)
if(SDL_LIBTHAI_SHARED AND NOT HAVE_SDL_LOADSO)
message(WARNING "You must have SDL_LoadObject() support for dynamic libthai loading")
endif()
FindLibraryAndSONAME("thai" LIBDIRS ${PC_LIBTHAI_LIBRARY_DIRS})
if(SDL_LIBTHAI_SHARED AND THAI_LIB AND HAVE_SDL_LOADSO)
set(SDL_LIBTHAI_DYNAMIC "\"${THAI_LIB_SONAME}\"")
set(HAVE_LIBTHAI_SHARED TRUE)
sdl_include_directories(PRIVATE SYSTEM $<TARGET_PROPERTY:PkgConfig::PC_LIBTHAI,INTERFACE_INCLUDE_DIRECTORIES>)
else()
sdl_link_dependency(libthai LIBS PkgConfig::PC_LIBTHAI PKG_CONFIG_PREFIX PC_LIBTHAI PKG_CONFIG_SPECS ${LIBTHAI_PKG_CONFIG_SPEC})
endif()
endif()
endif()
endmacro()
macro(WaylandProtocolGen _SCANNER _CODE_MODE _XML _PROTL)
set(_WAYLAND_PROT_C_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-protocol.c")
set(_WAYLAND_PROT_H_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-client-protocol.h")