Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
8d0a24c
build: directly use cmake variables in pkgconfig template
WhiredPlanck Oct 27, 2023
accd1ec
build: remove redundant *_STATIC flags
WhiredPlanck Oct 27, 2023
48a2341
build: slightly polish some cmake scripts
WhiredPlanck Oct 27, 2023
8ad966e
build: better cmake find modules
WhiredPlanck Oct 27, 2023
00b4da4
test: improve testing composition
WhiredPlanck Oct 28, 2023
6d176ef
build: simplify adding compile and link options
WhiredPlanck Oct 29, 2023
31d3b20
test: copy librime targets files to test on Windows
WhiredPlanck Oct 29, 2023
f2e4c94
build: drop deprecated BUILD_DATA option
WhiredPlanck Oct 29, 2023
34d9bc5
build: remove artifact output placeholder
WhiredPlanck Oct 29, 2023
7b2e132
build: drop unused iconv and icu stuffs
WhiredPlanck Oct 30, 2023
e5e0a08
feat(vcpkg): add vcpkg configuration for rime with dependencies
ghostflyby Jan 6, 2026
e979e88
Merge branch 'master' into cmake
ghostflyby Jan 7, 2026
7a37441
Merge branch 'master' into cmake
ghostflyby Jan 7, 2026
de78eea
fix(test): update RIME_MODULE_LIST to include NULL terminator
ghostflyby Jan 7, 2026
b2c8d0a
Merge remote-tracking branch 'origin/cmake' into cmake
ghostflyby Jan 7, 2026
c6646e7
fix: correct RIME_MODULE_LIST syntax by removing extra comma
ghostflyby Jan 7, 2026
bb00701
fix: update RIME_SETUP_EXTRA_MODULES to be the same as master
ghostflyby Jan 7, 2026
dfbf0f8
Refactor CMake object targets
ghostflyby Jan 10, 2026
bd96a97
fix: remove REQUIRED from find_package for Iconv
ghostflyby Jan 10, 2026
c7d96e5
fix: conditionally link libraries based on target existence
ghostflyby Jan 11, 2026
9ae4390
fix: update rime-dict-obj to link against Boost library
ghostflyby Jan 11, 2026
2968aed
fix: link rime-plugins-obj against Boost library
ghostflyby Jan 11, 2026
2ec7f93
fix: ensure rime-gears-obj links against Boost library
ghostflyby Jan 11, 2026
4677194
Revert "fix: ensure rime-gears-obj links against Boost library"
ghostflyby Jan 11, 2026
7b02307
Revert "fix: link rime-plugins-obj against Boost library"
ghostflyby Jan 11, 2026
938c2cb
Revert "fix: update rime-dict-obj to link against Boost library"
ghostflyby Jan 11, 2026
932a656
fix: update Boost and other libraries linkage for rime plugins
ghostflyby Jan 11, 2026
b6914c0
refactor: find boost using new policy
ghostflyby Jan 11, 2026
b9b400c
fix: update Boost find_package to use CONFIG mode
ghostflyby Jan 11, 2026
381e53d
fix: downgrade Boost version to 1.74.0
ghostflyby Jan 11, 2026
d459131
fix: set CMake policy CMP0144 to NEW for Boost configuration
ghostflyby Jan 11, 2026
bf22d10
fix: set CMake policy CMP0144 using the SET command for Boost configu…
ghostflyby Jan 11, 2026
b0adca3
fix: update Boost configuration to use environment variable for BOOST…
ghostflyby Jan 11, 2026
e860564
fix: install boost to provide BoostConfig.cmake
ghostflyby Jan 11, 2026
8e06c99
fix: scripts for building boost
ghostflyby Jan 11, 2026
e48679d
fix: enhance Boost installation script to require BOOST_TOOLSET
ghostflyby Jan 11, 2026
1fb0f17
fix: set ARCHIVE_OUTPUT_DIRECTORY for library targets in CMakeLists.txt
ghostflyby Jan 11, 2026
e101fff
fix: ensure plugin directories contain CMakeLists.txt in CMakeLists.txt
ghostflyby Jan 12, 2026
98eb97c
fix: improve Boost installation script to check for existing installa…
ghostflyby Jan 12, 2026
29f45e1
fix: add RIME_EXPORTS compile definitions for core and plugin targets
ghostflyby Jan 13, 2026
3c200c1
fix: add RIME_DLL specifier to Deployer class
ghostflyby Jan 15, 2026
b8e178e
fix: remove Windows-specific copy target for librime in CMakeLists.txt
ghostflyby Jan 15, 2026
27b3b7b
fix: add RIME_DLL specifier to UniqueTranslation class
ghostflyby Jan 15, 2026
3da7d77
fix: change RIME_EXPORTS from PUBLIC to PRIVATE for core and plugin t…
ghostflyby Jan 15, 2026
87bea79
refactor: remove vendored cmake packages finding scripts
ghostflyby Jan 15, 2026
d7b46ca
fix: update package names to non-vendored finding names
ghostflyby Jan 15, 2026
89e78fb
fix: correct case of Marisa package name in CMakeLists.txt
ghostflyby Jan 15, 2026
5763ae0
fix: update find_package calls to use CONFIG for GFlags, GLog, GTest,…
ghostflyby Jan 15, 2026
fc8cebb
Merge branch 'refs/heads/master' into cmake
ghostflyby Jan 15, 2026
fb1539f
fix: add support for Marisa package with fallback to MODULE finding
ghostflyby Jan 15, 2026
a55fbfe
fix: improve OpenCC package finding with fallback to MODULE
ghostflyby Jan 15, 2026
83adf25
fix: update base image to Debian 13.3 and add version info file
ghostflyby Jan 15, 2026
bc2c137
Merge remote-tracking branch 'origin/cmake' into cmake
ghostflyby Jan 15, 2026
28cf79a
fix: add libsnappy-dev to Dockerfile and installation script
ghostflyby Jan 15, 2026
9941b79
Merge remote-tracking branch 'origin/cmake' into cmake
ghostflyby Jan 15, 2026
b45ebb2
fix: adjust OpenCC package finding to prioritize CONFIG over MODULE
ghostflyby Jan 15, 2026
e11b91c
Fix rime target aggregation and shared/static split
ghostflyby Jan 15, 2026
f935f09
refactor: streamline rime module handling and remove static target op…
ghostflyby Jan 15, 2026
bdcc392
fix: configure core module by overriding afterwards
ghostflyby Jan 16, 2026
a3d204f
fix: update target link libraries to use appropriate visibility
ghostflyby Jan 16, 2026
812df84
fix: simplify rime module handling and adjust target linking
ghostflyby Jan 16, 2026
aef67f6
refactor: add deps of rime modules to libs instead of objs
ghostflyby Jan 16, 2026
5c29bdc
fix: update condition for rime plugins library setup
ghostflyby Jan 16, 2026
420b241
fix: add public and private dependency linking for object targets
ghostflyby Jan 16, 2026
88a5c33
fix: update rime-core target linking to include object targets and pl…
ghostflyby Jan 16, 2026
469f9c0
feat: enhance CMake configuration for Rime library and add package su…
ghostflyby Jan 18, 2026
4add9ea
fix: remove unnecessary condition for rime plugins library setup
ghostflyby Jan 18, 2026
6839553
fix: change rime-core library linking from PUBLIC to PRIVATE for plug…
ghostflyby Jan 18, 2026
707eace
feat: refactor CMake configuration to introduce rime-internal-all tar…
ghostflyby Jan 18, 2026
aa266e2
feat: add backward-compatible variables for legacy users in RimeConfig
ghostflyby Jan 19, 2026
eee72b7
fix: simplify CMake configuration by removing unnecessary conditional…
ghostflyby Jan 19, 2026
f06b09c
refactor: use standard BUILD_TESTING flag
ghostflyby Jan 19, 2026
7eb0f2e
ci(test): re-enable tests for mingw-w64
ghostflyby Jan 19, 2026
fed0f40
refactor: update version handling in CMakeLists.txt for clarity and c…
ghostflyby Jan 19, 2026
5f9cbc9
Merge branch 'vcpkg' into cmake
ghostflyby Jan 19, 2026
5b0c191
ci: remove empty build-clang.bat
ghostflyby Jan 19, 2026
d321369
Merge branch 'master' into cmake
ghostflyby Jan 19, 2026
97d5044
chore: remove vcpkg config
ghostflyby Jan 19, 2026
58e633b
ci: revert deps distributable upload
ghostflyby Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/macos-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
echo BUILD_UNIVERSAL=1 >> $GITHUB_ENV

- name: Install Boost
run: ./install-boost.sh
run: ./install-boost.sh --download --build

- name: Check submodules
run: git submodule > submodule-status
Expand Down
13 changes: 5 additions & 8 deletions .github/workflows/windows-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ jobs:
- { compiler: msvc, arch: x86, cross_arch: x64_x86 }
env:
boost_version: 1.89.0
BOOST_TOOLSET: ${{ matrix.compiler == 'clang' && 'clang-win' || 'msvc' }}
BOOST_ROOT: ${{ github.workspace }}\deps\boost-1.89.0
RIME_PLUGINS: ${{ inputs.rime_plugins }}

Expand Down Expand Up @@ -66,7 +67,7 @@ jobs:
git submodule > submodule-status

- name: Install boost
run: .\install-boost.bat
run: .\install-boost.bat --build

- name: Cache dependencies
id: cache-deps
Expand Down Expand Up @@ -153,16 +154,12 @@ jobs:
-DCMAKE_INSTALL_PREFIX:PATH=`pwd`/dist \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DENABLE_LOGGING:BOOL=ON \
-DBUILD_TEST:BOOL=ON \
-DBUILD_STATIC:BOOL=ON \
-DBUILD_TESTING:BOOL=ON \
-DWITH_STATIC_DEPS:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON
cmake --build build
cmake --install build
# Temporarily disable test for mingw-w64
# due to msys2 glog package issue:
# https://github.com/msys2/MINGW-packages/issues/25344
# cd build && cp ./bin/librime.dll ./test
# ctest --output-on-failure
ctest --output-on-failure

- name: Create distributable
run: |
Expand Down
204 changes: 89 additions & 115 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,26 +1,30 @@
cmake_minimum_required(VERSION 3.13)

set(CMAKE_USER_MAKE_RULES_OVERRIDE ${CMAKE_CURRENT_SOURCE_DIR}/cmake/c_flag_overrides.cmake)
set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cxx_flag_overrides.cmake)

cmake_minimum_required(VERSION 3.12)
project(rime)
set(CMAKE_CXX_STANDARD 17)

set(rime_version 1.16.0)
set(rime_soversion 1)

project(rime VERSION ${rime_version})

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

add_definitions(-DRIME_VERSION="${rime_version}")

# generate compile_commands.json
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

include(GNUInstallDirs)
include(CMakePackageConfigHelpers)

option(BUILD_SHARED_LIBS "Build Rime as shared library" ON)
option(BUILD_MERGED_PLUGINS "Merge plugins into one Rime library" ON)
option(BUILD_STATIC "Build with dependencies as static libraries" OFF)
option(BUILD_DATA "Build data for Rime" OFF)
option(WITH_STATIC_DEPS "Build with static dependency libraries" OFF)
option(BUILD_SAMPLE "Build sample Rime plugin" OFF)
option(BUILD_TEST "Build and run tests" ON)
option(BUILD_TESTING "Build and run tests" ON)
option(BUILD_SEPARATE_LIBS "Build separate rime-* libraries" OFF)
option(ENABLE_LOGGING "Enable logging with google-glog library" ON)
option(ALSO_LOG_TO_STDERR "Log to stderr as well as log file" OFF)
Expand All @@ -33,56 +37,25 @@ option(ENABLE_TIMESTAMP "Embed timestamp to schema artifacts" ON)
set(RIME_DATA_DIR "rime-data" CACHE STRING "Target directory for Rime data")
set(RIME_PLUGINS_DIR "rime-plugins" CACHE STRING "Target directory for externally built Rime plugins")

if(WIN32)
set(ext ".exe")
endif(WIN32)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "${PROJECT_SOURCE_DIR}")

if (ENABLE_ASAN)
set(asan_cflags "-fsanitize=address -fno-omit-frame-pointer")
set(asan_lflags "-fsanitize=address -lasan")
set(CMAKE_C_FLAGS "${asan_cflags} ${CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${asan_cflags} ${CMAKE_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${asan_lflags} ${CMAKE_EXE_LINKER_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS "${asan_lflags} ${CMAKE_SHARED_LINKER_FLAGS}")
if(ENABLE_ASAN)
add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
add_link_options(-fsanitize=address -lasan)
endif()

set(Boost_USE_STATIC_LIBS ${BUILD_STATIC})
set(Gflags_STATIC ${BUILD_STATIC})
set(Glog_STATIC ${BUILD_STATIC})
set(LevelDb_STATIC ${BUILD_STATIC})
set(Marisa_STATIC ${BUILD_STATIC})
set(Opencc_STATIC ${BUILD_STATIC})
set(YamlCpp_STATIC ${BUILD_STATIC})

set(Boost_USE_MULTITHREADED ON)
if(MSVC)
set(Boost_USE_STATIC_RUNTIME ON)
endif()
find_package(Boost CONFIG 1.74.0 REQUIRED COMPONENTS regex)

if(LINUX)
find_package(Boost 1.74.0 REQUIRED COMPONENTS regex)
else()
find_package(Boost 1.77.0)
endif()
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})
add_definitions(-DBOOST_DLL_USE_STD_FS)
endif()
add_definitions(-DBOOST_DLL_USE_STD_FS)
set(Boost_USE_STATIC_LIBS ${WITH_STATIC_DEPS})
set(Boost_USE_MULTITHREADED ON)

if(ENABLE_LOGGING)

find_package(Gflags)
if(Gflags_FOUND)
include_directories(${Gflags_INCLUDE_PATH})
endif()

find_package(Glog REQUIRED)
find_package(GFlags CONFIG QUIET)
find_package(GLog CONFIG REQUIRED)
if(Glog_FOUND)
include_directories(${Glog_INCLUDE_PATH})
if(WIN32)
add_compile_definitions("GLOG_DEPRECATED=__declspec(deprecated)")
add_compile_definitions(GLOG_NO_ABBREVIATED_SEVERITIES)
Expand All @@ -96,15 +69,20 @@ if(ENABLE_LOGGING)
add_compile_definitions("GLOG_EXPORT=__attribute__((visibility(\"default\")))")
add_compile_definitions("GLOG_NO_EXPORT=__attribute__((visibility(\"default\")))")
endif()
endif()

set(RIME_ENABLE_LOGGING 1)
if(WITH_STATIC_DEPS)
add_definitions(-DGOOGLE_GLOG_DLL_DECL=)
endif()

set(RIME_ENABLE_LOGGING 1)

if (ALSO_LOG_TO_STDERR)
set(RIME_ALSO_LOG_TO_STDERR 1)
if(ALSO_LOG_TO_STDERR)
set(RIME_ALSO_LOG_TO_STDERR 1)
endif()
endif()
endif()

find_package(Iconv)
find_package(Threads)

if(NOT ENABLE_THREADING)
Expand All @@ -115,37 +93,25 @@ if(NOT ENABLE_TIMESTAMP)
add_definitions(-DRIME_NO_TIMESTAMP)
endif()

if(BUILD_TEST)
find_package(GTest REQUIRED)
if(GTEST_FOUND)
enable_testing()
include_directories(${GTEST_INCLUDE_DIRS})
endif()
if(BUILD_TESTING)
find_package(GTest CONFIG REQUIRED)
endif()

find_package(YamlCpp REQUIRED)
if(YamlCpp_FOUND)
include_directories(${YamlCpp_INCLUDE_PATH})
endif()
if(YamlCpp_STATIC)
find_package(yaml-cpp CONFIG REQUIRED)
if(WITH_STATIC_DEPS)
add_definitions(-DYAML_CPP_STATIC_DEFINE)
endif()

find_package(LevelDb REQUIRED)
if(LevelDb_FOUND)
include_directories(${LevelDb_INCLUDE_PATH})
endif()
find_package(leveldb CONFIG REQUIRED)

find_package(Marisa REQUIRED)
if(Marisa_FOUND)
include_directories(${Marisa_INCLUDE_PATH})
# debian 12 used in docker CI and ubuntu 24 Linux in CI do not have Marisa cmake config file
find_package(Marisa CONFIG QUIET)
if(NOT Marisa_FOUND)
find_package(Marisa MODULE REQUIRED)
endif()

find_package(Opencc REQUIRED)
if(Opencc_FOUND)
include_directories(${Opencc_INCLUDE_PATH})
endif()
if(Opencc_STATIC)
find_package(OpenCC CONFIG QUIET)
if(WITH_STATIC_DEPS)
add_definitions(-DOpencc_BUILT_AS_STATIC)
endif()

Expand Down Expand Up @@ -177,25 +143,21 @@ if(MSVC)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /LARGEADDRESSAWARE")
endif()

if(UNIX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
endif()

if (NOT CMAKE_BUILD_PARALLEL_LEVEL)
if(NOT CMAKE_BUILD_PARALLEL_LEVEL)
include(ProcessorCount)
ProcessorCount(N)
if (NOT N EQUAL 0)
if(NOT N EQUAL 0)
set(CMAKE_BUILD_PARALLEL_LEVEL ${N})
endif()
endif()

# keep these variables lest some Rime plugin's cmake file is still using them {
if(NOT DEFINED LIB_INSTALL_DIR)
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
endif()

if(NOT DEFINED BIN_INSTALL_DIR)
set(BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
set(BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
endif()
# }

Expand All @@ -207,29 +169,39 @@ configure_file(
add_custom_target(remove
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)

if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD|OpenBSD|DragonFly|GNU|Darwin" OR MINGW)
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
set(bindir "${CMAKE_INSTALL_FULL_BINDIR}")
set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
set(pkgdatadir "${CMAKE_INSTALL_FULL_DATADIR}/${RIME_DATA_DIR}")
set(pluginsdir "${CMAKE_INSTALL_FULL_LIBDIR}/${RIME_PLUGINS_DIR}")
set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
# Android doesn't support PkgConfig yet
if(NOT ANDROID)
configure_file(
${PROJECT_SOURCE_DIR}/rime.pc.in
${PROJECT_BINARY_DIR}/rime.pc
@ONLY)
${PROJECT_SOURCE_DIR}/rime.pc.in
${PROJECT_BINARY_DIR}/rime.pc
@ONLY)
install(FILES ${PROJECT_BINARY_DIR}/rime.pc
DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig)
endif()

install(FILES cmake/RimeConfig.cmake
DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/cmake/rime)
set(RIME_CMAKE_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/Rime")
set(RIME_IS_LINUX 0)
if(LINUX)
set(RIME_IS_LINUX 1)
endif()

configure_package_config_file(
"${PROJECT_SOURCE_DIR}/cmake/RimeConfig.cmake.in"
"${PROJECT_BINARY_DIR}/RimeConfig.cmake"
INSTALL_DESTINATION "${RIME_CMAKE_INSTALL_DIR}")
write_basic_package_version_file(
"${PROJECT_BINARY_DIR}/RimeConfigVersion.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMajorVersion)

install(EXPORT RimeTargets
NAMESPACE Rime::
DESTINATION "${RIME_CMAKE_INSTALL_DIR}")
install(FILES
"${PROJECT_BINARY_DIR}/RimeConfig.cmake"
"${PROJECT_BINARY_DIR}/RimeConfigVersion.cmake"
DESTINATION "${RIME_CMAKE_INSTALL_DIR}")

file(GLOB rime_public_header_files ${PROJECT_SOURCE_DIR}/src/*.h)
list(FILTER rime_public_header_files EXCLUDE REGEX .*_impl\.h$)
install(FILES ${rime_public_header_files}
DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR})
if(INSTALL_PRIVATE_HEADERS)
file(GLOB rime_private_header_files
${PROJECT_SOURCE_DIR}/src/rime/*.h
Expand All @@ -244,21 +216,20 @@ if(INSTALL_PRIVATE_HEADERS)
endforeach()
endif()

if(BUILD_DATA)
file(GLOB rime_preset_data_files ${PROJECT_SOURCE_DIR}/data/preset/*.yaml)
install(FILES ${rime_preset_data_files} DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/${RIME_DATA_DIR})
endif()

if(BUILD_SHARED_LIBS)
add_definitions(-DRIME_BUILD_SHARED_LIBS)
set(rime_library rime)
if(BUILD_SEPARATE_LIBS)
set(rime_dict_library rime-dict)
set(rime_gears_library rime-gears)
set(rime_levers_library rime-levers)
endif()
else()
set(rime_library rime-static)
endif()

set(rime_dict_library rime-dict)
set(rime_gears_library rime-gears)
set(rime_levers_library rime-levers)

if(TARGET rime-plugins AND NOT DEFINED rime_plugins_library)
set(rime_plugins_library rime-plugins)
endif()
set(rime_library rime-internal-all)
if(NOT TARGET rime-internal-all)
add_library(rime-internal-all INTERFACE)
endif()

add_subdirectory(plugins)
Expand All @@ -269,7 +240,10 @@ foreach(mod ${rime_plugins_modules})
set(list "${list},Q(${mod})")
endforeach()
set(RIME_SETUP_EXTRA_MODULES "${list}")
if(BUILD_SHARED_LIBS AND BUILD_SEPARATE_LIBS AND rime_plugins_objs)
if(rime_plugins_objs AND NOT DEFINED rime_plugins_library)
set(rime_plugins_library rime-plugins)
endif()
if(BUILD_MERGED_PLUGINS AND BUILD_SHARED_LIBS AND BUILD_SEPARATE_LIBS AND rime_plugins_objs)
set(rime_plugins_library rime-plugins)
endif()

Expand All @@ -278,11 +252,11 @@ add_subdirectory(src)
if(BUILD_SHARED_LIBS)
add_subdirectory(tools)

if(BUILD_TEST)
if(BUILD_TESTING)
add_subdirectory(test)
endif()

if (BUILD_SAMPLE)
if(BUILD_SAMPLE)
add_subdirectory(sample)
endif()
endif()
5 changes: 3 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM debian:12.1
FROM debian:13.3

RUN apt update && apt install -y \
git \
Expand All @@ -12,6 +12,7 @@ RUN apt update && apt install -y \
libgtest-dev \
libyaml-cpp-dev \
libleveldb-dev \
libsnappy-dev \
libmarisa-dev \
libopencc-dev \
liblua5.4-dev
Expand All @@ -29,7 +30,7 @@ RUN cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DENABLE_LOGGING:BOOL=ON \
-DBUILD_TEST:BOOL=ON \
-DBUILD_STATIC:BOOL=OFF \
-DWITH_STATIC_DEPS:BOOL=OFF \
-DBUILD_SHARED_LIBS:BOOL=ON
RUN cmake --build build

Expand Down
Loading