Some checks failed
- Introduced `dstalk_lsp_plugin_test` for testing LSP plugin functionalities including `lsp_trim`, `lsp_frame_message`, and `lsp_parse_content_length`. - Created `dstalk_frontend_common` static library to encapsulate shared initialization logic for frontend components (CLI, GUI, Web). - Implemented configuration file discovery and service querying in `dstalk_frontend_init`. - Added internal headers for LSP and Anthropic plugins to facilitate unit testing. - Established a mailroom system for asynchronous message passing between stateless agents, enhancing coordination and context management.
34 lines
933 B
CMake
34 lines
933 B
CMake
cmake_minimum_required(VERSION 3.21)
|
|
project(dstalk VERSION 0.1.0 LANGUAGES C CXX)
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
|
|
set(CMAKE_C_STANDARD 11)
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
|
option(DSTALK_BUILD_GUI "Build the SDL3 GUI frontend" OFF)
|
|
option(DSTALK_BUILD_WEB "Build the web UI frontend" OFF)
|
|
option(DSTALK_BUILD_TESTS "Build dstalk tests" ON)
|
|
|
|
add_subdirectory(dstalk_core)
|
|
add_subdirectory(dstalk_frontend_common)
|
|
add_subdirectory(dstalk_cli)
|
|
# 插件按依赖层级分三个目录 / Plugins split into three directories by dependency tier
|
|
add_subdirectory(plugins_base)
|
|
add_subdirectory(plugins_middle)
|
|
add_subdirectory(plugins_upper)
|
|
|
|
if(DSTALK_BUILD_GUI)
|
|
add_subdirectory(dstalk_gui)
|
|
endif()
|
|
|
|
if(DSTALK_BUILD_WEB)
|
|
add_subdirectory(dstalk_web)
|
|
endif()
|
|
|
|
if(DSTALK_BUILD_TESTS)
|
|
enable_testing()
|
|
add_subdirectory(tests)
|
|
endif()
|