@@ -21,9 +21,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
2121endif ()
2222
2323# ---- mozc fetch tool ----
24- # NOTE: In some environments CMake may resolve CURL::libcurl to a static libcurl
25- # that requires additional transitive system libraries. Make the fetch tool
26- # opt-in so the rest of the project can build cleanly.
2724option (BUILD_MOZC_FETCH "Build mozc_dic_fetch (requires a fully linkable libcurl)" OFF )
2825if (BUILD_MOZC_FETCH)
2926 find_package (CURL REQUIRED)
@@ -36,7 +33,6 @@ endif()
3633# -----------------------------
3734# Dictionary builder libs
3835# -----------------------------
39-
4036add_library (louds_utf16 STATIC
4137 src/dictionary_builder/louds_builder/prefix_tree/prefix_tree_utf16.cpp
4238 src/dictionary_builder/louds_builder/prefix_tree_with_term_id/prefix_tree_with_term_id_utf16.cpp
@@ -52,15 +48,15 @@ target_include_directories(louds_utf16 PUBLIC
5248 ${CMAKE_CURRENT_SOURCE_DIR} /src/dictionary_builder/louds_builder
5349)
5450
55- # ConnectionIdBuilder (new)
51+ # ConnectionIdBuilder
5652add_library (connection_id STATIC
5753 src/dictionary_builder/connection_id/connection_id_builder.cpp
5854)
5955target_include_directories (connection_id PUBLIC
6056 ${CMAKE_CURRENT_SOURCE_DIR} /src/dictionary_builder
6157)
6258
63- # TokenArray (posting lists keyed by yomi termId)
59+ # TokenArray
6460add_library (token_array STATIC
6561 src/dictionary_builder/token_array/token_array.cpp
6662)
@@ -71,26 +67,51 @@ target_include_directories(token_array PUBLIC
7167target_link_libraries (token_array PUBLIC louds_utf16)
7268
7369# -----------------------------
74- # Dictionary builder executable
70+ # GraphBuilder (NEW)
7571# -----------------------------
72+ add_library (graph_builder STATIC
73+ src/graph_builder/graph.cpp
74+ )
75+ target_include_directories (graph_builder PUBLIC
76+ ${CMAKE_CURRENT_SOURCE_DIR} /src
77+ ${CMAKE_CURRENT_SOURCE_DIR} /src/dictionary_builder
78+ ${CMAKE_CURRENT_SOURCE_DIR} /src/dictionary_builder/louds_builder
79+ )
80+ target_link_libraries (graph_builder PUBLIC
81+ token_array
82+ louds_utf16
83+ )
7684
85+ # -----------------------------
86+ # Path algorithm (NEW)
87+ # -----------------------------
88+ add_library (path_algorithm STATIC
89+ src/path_algorithm/find_path.cpp
90+ )
91+ target_include_directories (path_algorithm PUBLIC
92+ ${CMAKE_CURRENT_SOURCE_DIR} /src
93+ )
94+ target_link_libraries (path_algorithm PUBLIC
95+ graph_builder
96+ )
97+
98+ # -----------------------------
99+ # Dictionary builder executable
100+ # -----------------------------
77101add_executable (dictionary_builder
78102 src/dictionary_builder/dictionary_builder.cpp
79103)
80-
81104target_link_libraries (dictionary_builder PRIVATE
82105 louds_utf16
83106 connection_id
84107)
85108
86109# -----------------------------
87- # Tries + TokenArray builder (Kotlin buildTriesAndTokenArray equivalent)
110+ # Tries + TokenArray builder
88111# -----------------------------
89-
90112add_executable (tries_token_builder
91113 src/dictionary_builder/tries_token_builder.cpp
92114)
93-
94115target_link_libraries (tries_token_builder PRIVATE
95116 louds_utf16
96117 token_array
@@ -99,7 +120,6 @@ target_link_libraries(tries_token_builder PRIVATE
99120# -----------------------------
100121# CLI
101122# -----------------------------
102-
103123add_executable (cps_cli cli/louds/cps_cli.cpp)
104124target_link_libraries (cps_cli PRIVATE louds_utf16)
105125
@@ -108,3 +128,13 @@ target_link_libraries(termid_cli PRIVATE louds_utf16)
108128
109129add_executable (prefix_predict_cli cli/kana_kanji/prefix_predict_cli.cpp)
110130target_link_libraries (prefix_predict_cli PRIVATE token_array)
131+
132+ # N-best kana-kanji conversion CLI (NEW)
133+ add_executable (astar_bunsetsu_cli cli/kana_kanji/astar_bunsetsu_cli.cpp)
134+ target_link_libraries (astar_bunsetsu_cli PRIVATE
135+ louds_utf16
136+ token_array
137+ connection_id
138+ graph_builder
139+ path_algorithm
140+ )
0 commit comments