跳转至

构建 Eglantine

[!WARNING] 本指南仅面向开发者。如果您不是开发者或打包者,则不太可能获得支持。

这是在所有受支持平台上构建 Eglantine 的完整指南。

如果您已经搭建好了开发环境:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -G Ninja
cmake --build build

在 Linux、macOS 和 MinGW/MSYS2 上,请务必阅读依赖项指南。在 Android 上,请阅读其专用页面。

依赖项

首先,您必须安装一些依赖项。

克隆

接下来,您需要通过终端克隆 Eglantine:

git clone https://github.com/Djihads80/Eglantine.git
cd Eglantine

或者使用 Qt Creator(创建项目 -> 导入项目 -> Git 克隆)。

Android

Android 的构建流程与其他平台完全不同。请参阅其专用页面。

初始配置

如果配置阶段失败,请参阅下面的 Troubleshooting 部分。通常,只要您遵循了依赖项指南,默认设置应该能够成功配置和构建。

选项 A:Qt Creator

这是 Linux、macOS 和 Windows 上推荐的 GUI 方法。

点击展开

[!WARNING] 在 MSYS2 上,使用 Qt Creator 时,建议另外从在线安装程序安装 Qt,并确保选择“MinGW”版本。

如果您没有通过项目导入工具克隆 Eglantine,请通过“文件 -> 打开文件或项目”(Ctrl+O)打开克隆目录中的 CMakeLists.txt 文件。

选择您想要的“套件”(通常默认即可)。推荐使用 RelWithDebInfo 或 Release:

Qt Creator kits

点击“Configure Project”,然后等待 CMake 完成配置(在 Windows 上可能需要一些时间)。

选项 B:命令行

点击展开

[!WARNING] 对于所有系统:

  • CMake必须在您的 PATH 中(如果您使用 ninja 作为 <GENERATOR>,ninja 也必须在 PATH 中)
  • 您必须位于克隆的 Eglantine 目录中

在 Windows 上:

  • 建议安装 Ninja
  • 您必须加载 Visual C++ 开发环境,可以通过运行我们的便捷脚本完成:
  • tools/windows/load-msvc-env.ps1(适用于 PowerShell 5+)
  • tools/windows/load-msvc-env.sh(适用于 MSYS2、Git Bash 等)

可用的 <GENERATOR>:

  • MSYS2:MSYS Makefiles
  • MSVC:Ninja(首选)或 Visual Studio 17 2022
  • macOS:Ninja(首选)或 Xcode
  • 其他:Ninja(首选)或 UNIX Makefiles

可用的 <BUILD_TYPE>:

  • Release(默认)
  • RelWithDebInfo(包含调试符号——编译出的可执行文件会很大)
  • Debug(如果您正在使用调试器,并且不想让内容被优化掉)

Debug 构建的注意事项:

  • 如果您使用 CCache 构建,则需要添加环境变量 CL,并加上 /FS 标志(参考)

另请参阅根目录下的 CMakeLists.txt 以了解更多构建选项。不过通常默认设置会提供最佳体验。

cmake -S . -B build -G "<GENERATOR>" -DCMAKE_BUILD_TYPE=<BUILD_TYPE> -DYUZU_TESTS=OFF

如果您在 Windows 上并希望使用 Clang:

cmake -S . -B build -G "<GENERATOR>" -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl

选项 C:CLion

点击展开
  • 克隆仓库:


构建与设置

  • 克隆完成后,您会进入类似下图的提示界面:

  • 按下图所示进行设置:
  • 更改:Build type: Release
  • 更改:Name: Release
  • 更改:Toolchain Visual Studio
  • 更改:Generator: Let CMake decide
  • 更改:Build directory: build

  • 点击 OK;随后 CLion 会构建一个目录并为您的代码建立索引,以支持 IntelliSense。请耐心等待。
  • 此过程完成后(右下角没有加载条),您现在就可以构建 Eglantine 了。
  • 在右上角,单击下拉菜单,选择所有配置,然后选择 Eglantine。

  • 现在点击播放按钮或按 Shift+F10 运行,Eglantine 将在构建完成后自动启动。

选项 D:Visual Studio 与 clang-cl

  1. 从安装程序中为 Visual Studio 安装 "x64 Native Tools Command Prompt",同时安装 cmake-gui。
  2. 打开 "x64 Native Tools Command Prompt" 并输入 cmake-gui。
  3. 点击 configure,选择 ninja generator > 指定本机编译器。
  4. 将 "C:/Program Files/Microsoft Visual Studio/18/Community/VC/Tools/Llvm/x64/bin/clang-cl.exe" 作为您的 C/C++ 编译器路径。
  5. 打开 Visual studio > Open project,或通过 Solution > Change 在克隆目录中搜索 CMake 项目文件(CMakeList.txt),然后构建。

故障排除

如果您的初始配置失败:

  • 仔细重新阅读依赖项指南
  • 清除 CPM 缓存(.cache/cpm)和 CMake 缓存(<build directory>/CMakeCache.txt)
  • 评估错误并查找相关设置
  • 参阅 CPM 文档,了解您是否需要强制捆绑任何包

否则,请随时在 Stoat 或 Discord 中寻求帮助。

注意事项

许多平台存在怪癖、缺陷和其他有趣的问题,可能会在构建或运行时导致问题。请先查看注意事项页面再继续。

构建与运行

在 Qt Creator 中

只需按 Ctrl+B,或点击左下角的“锤子”图标。要运行,请点击“播放”图标,或按 Ctrl+R。

在命令行中

如果你使用 UNIX Makefiles 或 Visual Studio 17 2022 作为 <GENERATOR>,还应添加 --parallel 以缩短构建时间。

cmake --build build

编译后的可执行文件将位于:

  • Windows:build/bin/eglantine.exe
  • macOS:build/bin/Eglantine.app/Contents/MacOS/eglantine
  • 其他平台:build/bin/eglantine

脚本

请查看我们的 CI 脚本。你可以在任何符合 POSIX 规范的 shell 中使用 .ci/common/configure.sh,但我们强烈建议你基于它编写自己的脚本。只要你能看懂 CMake,这并不难。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 eg/Eglantine