@@ -151,7 +151,8 @@ else()
151151 set (_VIX_P2P_DIR "${_VIX_MODULES_DIR} /p2p" )
152152 set (_VIX_SYNC_DIR "${_VIX_MODULES_DIR} /sync" )
153153 set (_VIX_CACHE_DIR "${_VIX_MODULES_DIR} /cache" )
154- set (_VIX_AGENT_DIR "${_VIX_MODULES_DIR} /agent" )
154+ set (_VIX_AGENT_DIR "${_VIX_MODULES_DIR} /agent" )
155+ set (_VIX_DB_DIR "${_VIX_MODULES_DIR} /db" )
155156 set (_VIX_WEBSOCKET_DIR "${_VIX_MODULES_DIR} /websocket" )
156157
157158 set (_LOCAL_LAYOUT_OK FALSE )
@@ -206,6 +207,12 @@ else()
206207 add_subdirectory ("${_VIX_AGENT_DIR} " "${CMAKE_BINARY_DIR} /_vix_ai_agent" )
207208 endif ()
208209
210+ if (EXISTS "${_VIX_DB_DIR} /CMakeLists.txt" AND NOT TARGET vix::db)
211+ set (VIX_DB_BUILD_TESTS OFF CACHE BOOL "" FORCE )
212+ set (VIX_DB_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE )
213+ add_subdirectory ("${_VIX_DB_DIR} " "${CMAKE_BINARY_DIR} /_vix_db" )
214+ endif ()
215+
209216 if (EXISTS "${_VIX_WEBSOCKET_DIR} /CMakeLists.txt" AND NOT TARGET vix::websocket)
210217 set (VIX_WEBSOCKET_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE )
211218 add_subdirectory ("${_VIX_WEBSOCKET_DIR} " "${CMAKE_BINARY_DIR} /_vix_websocket" )
@@ -259,6 +266,10 @@ else()
259266 list (APPEND _VIX_LOCAL_LINK_TARGETS vix::ai_agent)
260267 endif ()
261268
269+ if (TARGET vix::db)
270+ list (APPEND _VIX_LOCAL_LINK_TARGETS vix::db)
271+ endif ()
272+
262273 if (TARGET vix::websocket)
263274 list (APPEND _VIX_LOCAL_LINK_TARGETS vix::websocket)
264275 endif ()
@@ -279,6 +290,7 @@ else()
279290 vix_append_if_exists (_VIX_LOCAL_INCLUDE_DIRS "${_VIX_SYNC_DIR} /include" )
280291 vix_append_if_exists (_VIX_LOCAL_INCLUDE_DIRS "${_VIX_CACHE_DIR} /include" )
281292 vix_append_if_exists (_VIX_LOCAL_INCLUDE_DIRS "${_VIX_AGENT_DIR} /include" )
293+ vix_append_if_exists (_VIX_LOCAL_INCLUDE_DIRS "${_VIX_DB_DIR} /include" )
282294 vix_append_if_exists (_VIX_LOCAL_INCLUDE_DIRS "${_VIX_WEBSOCKET_DIR} /include" )
283295 vix_append_if_exists (_VIX_LOCAL_INCLUDE_DIRS "${_VIX_P2P_DIR} /include" )
284296
@@ -341,6 +353,17 @@ else()
341353 message (STATUS "[cli] Game command disabled: vix::game target not found" )
342354endif ()
343355
356+ # ----------------------------------------------------
357+ # Optional db command support
358+ # ----------------------------------------------------
359+ if (TARGET vix::db)
360+ message (STATUS "[cli] DB command enabled" )
361+ target_link_libraries (vix_cli PRIVATE vix::db )
362+ target_compile_definitions (vix_cli PRIVATE VIX_CLI_HAS_DB=1 )
363+ else ()
364+ message (STATUS "[cli] DB command disabled: vix::db target not found" )
365+ endif ()
366+
344367# ----------------------------------------------------
345368# Optional websocket command support
346369# ----------------------------------------------------
0 commit comments