# ============================================================ # dstalk-core — 核心 DLL (插件宿主) # 包含: 插件管理 / 服务注册 / 事件总线 / 配置存储 # ============================================================ find_package(Boost REQUIRED CONFIG) find_package(OpenSSL REQUIRED CONFIG) # 统一的 Boost 编译宏 (header-only 模式) add_library(dstalk_boost_config INTERFACE) target_compile_definitions(dstalk_boost_config INTERFACE BOOST_ALL_NO_LIB BOOST_ERROR_CODE_HEADER_ONLY BOOST_JSON_HEADER_ONLY ) add_library(dstalk SHARED src/host.cpp src/config_store.cpp src/event_bus.cpp src/service_registry.cpp src/plugin_loader.cpp src/boost_json.cpp ) target_include_directories(dstalk PUBLIC include PRIVATE src ) target_compile_features(dstalk PUBLIC cxx_std_20) target_link_libraries(dstalk PRIVATE dstalk_boost_config boost::boost openssl::openssl ) # dlopen / dlclose / dlsym on Linux and macOS if(NOT WIN32) target_link_libraries(dstalk PRIVATE ${CMAKE_DL_LIBS}) endif() # 导出 DLL 符号宏 target_compile_definitions(dstalk PRIVATE DSTALK_BUILD_DLL INTERFACE DSTALK_USE_DLL )