编译与测试
安装脚本是推荐入口;需要单独配置、增量构建或定位 CI 问题时,可直接使用相同的 CMake Preset。
构建配置
安装脚本支持两种配置:
| 配置 | 用途 | 说明 |
|---|---|---|
Debug | 本地开发和 C++ 调试 | 引擎保留调试信息;仍链接 Release Python 3.12 ABI |
Release | 性能测试和正式部署 | 默认配置,启用发布优化 |
三平台安装脚本都会:
- 检查或准备宿主机构建工具;
- 在
kbe/vcpkg初始化 vcpkg; - 根据 manifest 和固定 baseline 恢复依赖;
- 使用对应 CMake Preset 配置工程;
- 构建
kbe_servers和kbe_tests; - 将服务端程序和 Python 3.12 运行时部署到
kbe/bin/server。
首次构建需要编译 Python、数据库驱动和其他第三方库,耗时取决于 CPU、磁盘和网络。后续未修改 baseline、triplet 和依赖版本时,会复用已有 vcpkg 与构建缓存。
手动使用 CMake Preset
日常增量编译可以跳过安装脚本,直接从 kbe/src 使用 Preset。前提是 vcpkg 和宿主工具已经准备完成。
Windows
cd kbe\src
cmake --preset windows-ninja
cmake --build --preset windows-ninja-tests-release --target kbe_servers kbe_tests --parallelLinux
cd kbe/src
cmake --preset linux-ninja
cmake --build out/build/linux-ninja --config Release \
--target kbe_servers kbe_tests --parallelmacOS
cd kbe/src
cmake --preset macos-ninja
cmake --build out/build/macos-ninja --config Release \
--target kbe_servers kbe_tests --parallel配置发生较大变化、baseline 更新或切换 triplet 时,可以使用 cmake --fresh --preset ... 重新生成。不要把删除整个 vcpkg 下载缓存作为常规增量构建步骤。
Windows 默认构建使用 windows-ninja。需要生成 .sln 并从 Visual Studio 浏览或调试源码时,应使用专门的 Visual Studio Preset,详见 生成 Visual Studio 工程。Ninja 与 Visual Studio 使用不同的构建目录,不要将一个生成器写入另一个生成器已经配置的目录。
运行测试
安装脚本会构建测试程序,但不会替你运行全部 CTest。构建成功后可以执行:
Windows
cd kbe\src
ctest --preset windows-ninja-releaseLinux
cd kbe/src
ctest --preset linux-releasemacOS
cd kbe/src
ctest --preset macos-releaseDebug 构建分别使用 windows-ninja-debug、linux-debug 和 macos-debug。出现 Not Run 时,应先检查对应测试目标是否完成编译以及 CTest 配置是否与构建配置一致。
构建产物
成功后,以下组件会出现在 kbe/bin/server:
machine;logger;interfaces;dbmgr;baseappmgr;cellappmgr;baseapp;cellapp;loginapp;bots;kbcmd。
Windows 文件带 .exe 后缀。Python 3.12 动态库会部署到服务端程序旁,标准库和原生标准扩展部署到 kbe/res/scripts/common 的对应目录。
Linux 服务端通过相对 $ORIGIN、macOS 通过 @loader_path、Windows 通过可执行文件目录解析同目录动态库。因此仓库或发布目录可以整体移动,但必须保持 kbe/bin/server 与 kbe/res 的相对结构。
