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_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()