From 66a729ac51e8ce79a9da79e382076e678f9a721b Mon Sep 17 00:00:00 2001 From: Qijia Liu Date: Tue, 5 Nov 2024 23:28:58 -0500 Subject: [PATCH] initial support emscripten build (#1170) --- CMakeLists.txt | 1 + cmake/Fcitx5CompilerSettings.cmake | 2 +- src/lib/fcitx-utils/endian_p.h | 2 +- src/modules/spell/CMakeLists.txt | 2 ++ 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ac1e1dcb5..aa90bad4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,7 @@ option(ENABLE_XDGAUTOSTART "Enable xdg autostart desktop file installation" On) option(USE_FLATPAK_ICON "Use flatpak icon name for desktop files" Off) option(ENABLE_EMOJI "Enable emoji module" On) option(ENABLE_LIBUUID "Use libuuid for uuid generation" On) +option(BUILD_SPELL_DICT "Build en_dict.fscd for English spell check" On) set(NO_PREEDIT_APPS "gvim.*,wps.*,wpp.*,et.*" CACHE STRING "Disable preedit for follwing app by default.") if (ENABLE_EMOJI) diff --git a/cmake/Fcitx5CompilerSettings.cmake b/cmake/Fcitx5CompilerSettings.cmake index 66136f0b7..5e766d30a 100644 --- a/cmake/Fcitx5CompilerSettings.cmake +++ b/cmake/Fcitx5CompilerSettings.cmake @@ -8,7 +8,7 @@ set(CMAKE_C_STANDARD 99) set(CMAKE_C_FLAGS "-Wall -Wextra ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "-Wall -Wextra ${CMAKE_CXX_FLAGS}") -if(NOT APPLE) +if(NOT APPLE AND NOT EMSCRIPTEN) set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined -Wl,--as-needed ${CMAKE_SHARED_LINKER_FLAGS}") set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined -Wl,--as-needed ${CMAKE_MODULE_LINKER_FLAGS}") endif() diff --git a/src/lib/fcitx-utils/endian_p.h b/src/lib/fcitx-utils/endian_p.h index d524dfa23..524a26fad 100644 --- a/src/lib/fcitx-utils/endian_p.h +++ b/src/lib/fcitx-utils/endian_p.h @@ -8,7 +8,7 @@ #define _FCITX_UTILS_ENDIAN_P_H_ #include -#if defined(__linux__) || defined(__GLIBC__) +#if defined(__linux__) || defined(__GLIBC__) || defined(__EMSCRIPTEN__) #include #elif defined(__APPLE__) diff --git a/src/modules/spell/CMakeLists.txt b/src/modules/spell/CMakeLists.txt index 094e1a58c..ab1ce4dff 100644 --- a/src/modules/spell/CMakeLists.txt +++ b/src/modules/spell/CMakeLists.txt @@ -17,6 +17,7 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/spell.conf" DESTINATION "${FCITX_INST COMPONENT config) fcitx5_export_module(Spell TARGET spell BUILD_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}" HEADERS spell_public.h INSTALL) +if (BUILD_SPELL_DICT) set(DICT_COMP_SRC comp_spell_dict.cpp ) @@ -46,3 +47,4 @@ add_custom_command( "${SPELL_EN_DICT_SRC}" "${SPELL_EN_DICT}") add_custom_target(spell_en_dict ALL DEPENDS "${SPELL_EN_DICT}") install(FILES "${SPELL_EN_DICT}" DESTINATION "${FCITX_INSTALL_PKGDATADIR}/spell") +endif()