CMake 选项¶
要更改这些选项,请在命令行中添加 -DOPTION_NAME=NEWVALUE。
- 在 Qt Creator 中,转到 项目 -> 当前配置
注意:
- 默认值按平台分别标注。
- “非 UNIX”仅指 Windows/MSVC 和 Android(没错,macOS 是 UNIX)。
- Android 通常不需要更改任何内容;如果需要,请前往
src/android/app/build.gradle.kts - 要将布尔变量设为开,请使用
ON作为值;要关闭,请使用OFF - 如果某个变量被标注为例如“ON”仅适用于特定平台,则意味着在其他平台上默认值为 OFF
- 除非另有说明,类型始终为布尔值
- 格式:
OPTION_NAME(类型 默认值)描述
选项¶
依赖项¶
以下选项控制依赖项。
YUZU_USE_BUNDLED_FFMPEG(非 UNIX 下为 ON)下载预构建并配置好的 FFmpegYUZU_USE_EXTERNAL_FFMPEG(Solaris 下为 ON)从源码构建 FFmpegYUZU_DOWNLOAD_ANDROID_VVL(ON)为 Android 下载验证层二进制文件YUZU_DOWNLOAD_TIME_ZONE_DATA(ON)始终下载时区二进制文件- 目前,缺少此项会导致构建失败
YUZU_TZDB_PATH(字符串)预下载时区数据库的路径(对 nixOS 和 Gentoo 很有用)YUZU_USE_BUNDLED_MOLTENVK(ON,仅 macOS)下载附带的 MoltenVK 库YUZU_USE_BUNDLED_OPENSSL(MSVC、Android、Solaris 和 OpenBSD 下为 ON)下载附带的 OpenSSL 构建YUZU_USE_BUNDLED_SDL3(MSVC 下为 ON)下载预构建的 SDL3
其他¶
ENABLE_WEB_SERVICE(ON)启用多人游戏服务ENABLE_WIFI_SCAN(OFF)启用 WiFi 扫描(在 Linux 上需要 iw)- 实验性ENABLE_CUBEB(ON)启用 cubeb 音频后端- 此选项可能会被移除。
YUZU_TESTS(ON)编译测试 - 需要 Catch2ENABLE_LTO(OFF)启用链接时优化- 不建议在 Windows 上使用
- UNIX 上最好在编译器参数后追加
-flto=thin USE_FASTER_LINKER(OFF)检查是否有更快的链接器可用- 不建议在 Linux 之外使用
YUZU_INSTALL_UDEV_RULES(OFF)安装 udev 规则以启用 hidraw 访问- 陀螺仪需要此项
- 仅适用于 Linux
ENABLE_DEBUG_TOOLS(OFF)启用调试和开发工具,参见 tools。ENABLE_WERROR(ON)将警告视为错误(-Werror)。
构建变体¶
以下选项控制可执行文件和构建变体。
YUZU_LEGACY(OFF):应用补丁以提高部分旧 GPU 的兼容性,但会牺牲性能NIGHTLY_BUILD(OFF):仅供 CI 使用。除非你在制作自己的发行版并且清楚自己在做什么,否则不要使用。YUZU_STATIC_BUILD(OFF)尽可能尝试使用静态库进行构建- 不支持 Linux
- 如果
YUZU_USE_BUNDLED_QT在非 Linux 下为 ON,则自动设置 ENABLE_UPDATE_CHECKER(OFF)启用更新检查功能YUZU_DISABLE_LLVM(OFF)不要尝试链接 LLVM demangler- 仅对 CI 或发行版构建有用
仅限桌面版:
YUZU_CMD(ON)编译基于 SDL 的前端(eden-cli)YUZU_ROOM(OFF)将专用房间功能编译到主可执行文件中YUZU_ROOM_STANDALONE(OFF)为房间功能编译一个单独的可执行文件YUZU_STATIC_ROOM(OFF)仅将房间可执行文件编译为静态、可移植的可执行文件- 仅在 Alpine Linux 上可用。
桌面版¶
以下选项仅适用于桌面版。
ENABLE_LIBUSB(ON)启用 libusb 输入后端的使用(强烈推荐)ENABLE_OPENGL(ON)启用 OpenGL 图形后端- 在 Windows/ARM64 和 Android 上不可用
- 你可能不应该关闭它。
Qt¶
同样是桌面版专用,但严格适用于 Qt
ENABLE_QT(ON)启用 Qt 前端(推荐)ENABLE_QT_TRANSLATION(OFF)启用 Qt 前端的翻译YUZU_USE_BUNDLED_QT(MSVC 下为 ON)下载附带的 Qt 二进制文件- 不建议在 Linux 上使用。对于 Windows 和 macOS,提供的构建是静态链接的。
YUZU_QT_MIRROR(字符串)用于下载附带的 Qt 库时使用哪个镜像YUZU_USE_QT_MULTIMEDIA(OFF)使用 QtMultimedia 提供摄像头支持YUZU_USE_QT_WEB_ENGINE(OFF)使用 QtWebEngine 实现 Web 小程序(需要庞大的 QtWebEngine 依赖;不建议)USE_DISCORD_PRESENCE(OFF)启用 Discord Rich Presence(仅限 Qt 前端)
已退役选项¶
以下选项曾是 Eden 的一部分,但现已退役。
ENABLE_OPENSSL- MbedTLS 已在 #3606 中被 OpenSSL 完全取代,因为 OpenSSL 的性能确实更好。ENABLE_SDL2- 尽管从技术上讲,在桌面端可以 不 使用 SDL2,但这无论如何都 不是 受支持的配置,而且将这个矩阵加入我们的构建系统并不值得。YUZU_USE_CPM- 这个选项曾经有它的用途,但那个用途早已成为过去。所有构建现在都使用 CPMUtil 来管理依赖。- 如果你想 强制 使用系统依赖,请使用
-DCPMUTIL_FORCE_SYSTEM=ON。 YUZU_USE_EXTERNAL_SDL- 现在这会自动处理。即使在使用 CPM 之后它也曾被包含在内,但其所针对的用途早已长期不再适用。
有关更多选项,请参见 src/dynarmic/CMakeLists.txt——通常,这些不需要更改。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 eg/Eglantine