- engine/bindings:nanobind 官方薄绑定包 hunjing-lingtai(LingtaiEngine RAII、HjStatus→LingtaiError 映射、HJ_ABI_VERSION 导出);scikit-build-core 构建,直接编译引擎源码自包含 - backend 以 editable 路径依赖接入;typings/lingtai.pyi 类型存根(mypy strict 全绿) - app/core/lingtai.py:懒初始化单例 + LingtaiUnavailable fail-closed(禁止宿主第二实现降级) - 迁移 3:message.parser_version;post_message 的 markdown 输入经 hj_transform 规范化为 canonical blocks(展开 code/mermaid/math 并标注 parser_version,契约第 4 节) - 测试 29 项全绿:消息展开、Python/C++ golden 字节一致、引擎注入失败时消息路径显式 500(fail-closed 验证)
23 lines
612 B
CMake
23 lines
612 B
CMake
cmake_minimum_required(VERSION 3.18...3.30)
|
|
|
|
project(lingtai_bindings LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
find_package(Python COMPONENTS Interpreter Development REQUIRED)
|
|
find_package(nanobind CONFIG REQUIRED)
|
|
|
|
# 直接编译引擎源码(自包含,不依赖 dylib 安装路径)
|
|
nanobind_add_module(lingtai
|
|
src/lingtai.cpp
|
|
../src/lingtai.cpp
|
|
../src/transform.cpp)
|
|
|
|
target_include_directories(lingtai PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../src)
|
|
|
|
install(TARGETS lingtai DESTINATION .)
|