Skip to content

waf帮助 (简体中文翻译)

stephen-cusi edited this page Feb 14, 2024 · 1 revision

以下是waifu命令行工具的中文翻译和整理:

waifu [命令] [选项]

主要命令(例如:./waifu build -j4

  • build:执行构建
  • clangdb:按请求生成compile_commands.json
  • clean:清理项目
  • configure:配置项目
  • dist:制作源代码的tarball以供重新分发
  • distcheck:检查项目是否编译(来自dist的tarball)
  • distclean:移除构建文件夹和数据
  • install:在系统上安装目标
  • list:列出要执行的目标
  • msdev:将C/C++任务导出到MS Visual Studio项目和解决方案。
  • msvs:生成Visual Studio 2010解决方案
  • msvs2008:生成Visual Studio 2008解决方案
  • step:逐步执行任务,用于调试
  • uninstall:移除已安装的目标

选项:

  • --version:显示程序版本号并退出
  • -c COLORS, --color=COLORS:是否使用颜色(yes/no/auto)[默认:auto]
  • -j JOBS, --jobs=JOBS:并行作业数量(4)
  • -k, --keep:尽管有错误,继续执行(-kk尝试更努力)
  • -v, --verbose:详细程度 -v -vv 或 -vvv [默认:0]
  • --zones=ZONES:调试区域(task_gen, deps, tasks等)
  • -h, --help:显示此帮助信息并退出
  • --notests:执行无单元测试
  • -alltests:执行所有单元测试
  • --clear-failed:强制失败的单元测试下次再次运行
  • --testcmd=TESTCMD:使用test-cmd字符串运行单元测试,例如"--testcmd="valgrind --error-exitcode=1 %s"在valgrind下运行
  • --dump-test-scripts:创建Python脚本来帮助调试测试
  • --msvc_version=MSVC_VERSION:msvc版本,例如:"msvc 10.0,msvc 9.0"
  • --msvc_targets=MSVC_TARGETS:msvc目标,例如:"x64,arm"
  • --no-msvc-lazy:延迟检查msvc目标环境
  • --msdev:为导出/导入操作选择msdev
  • --clean:删除导出的文件
  • --execsolution=EXECSOLUTION:使用构建状态文件与Visual Studio构建
  • --rebuild-cache:加载之前的配置
  • --reconfigure:加载并更新配置

配置选项:

  • -o OUT, --out=OUT:项目的构建目录
  • -t TOP, --top=TOP:项目的源目录
  • --prefix=PREFIX:安装前缀 [默认:'C:\Users\magis\AppData\Local\Temp']
  • --bindir=BINDIR:绑定目录
  • --libdir=LIBDIR:库目录
  • --check-cxx-compiler=CHECK_CXX_COMPILER:尝试的C++编译器列表 [msvc g++ clang++]
  • --check-c-compiler=CHECK_C_COMPILER:尝试的C编译器列表 [msvc gcc clang]

构建和安装选项:

  • -p, --progress:进度条;-pp:IDE输出
  • --targets=TARGETS:任务生成器,例如 "target1,target2"

逐步选项:

  • --files=FILES:按正则表达式处理的文件,例如 "/main.c,/test/main.o"

安装和卸载选项:

  • --destdir=DESTDIR:安装根目录 [默认:'']
  • -f, --force:强制文件安装
  • --distcheck-args=ARGS:传递给distcheck的参数
  • --strip:剥离二进制文件。你必须传递这个标志给安装命令 [默认:False]
  • --strip-to-file:将调试信息剥离到文件*.debug。意味着--strip。你必须传递这个标志给安装命令 [默认:False]

通用选项:

  • -4, --32bits:允许目标32位引擎(仅限Linux/Windows/OSX x86)[默认:False]
  • -d, --dedicated:构建专用服务器 [默认:False]
  • --tests:构建单元测试 [默认:False]
  • -D, --debug-engine:使用-DDEBUG构建 [默认:False]
  • --use-sdl=SDL:使用SDL构建引擎 [默认:False]
  • --use-togl=GL:使用ToGL构建引擎 [默认:False]
  • --build-games=GAMES:构建游戏 [默认:hl2]
  • --use-ccache:使用ccache构建 [默认:False]
  • --disable-warns:使用ccache构建 [默认:False]
  • --togles:使用ToGLES构建引擎 [默认:False]
  • --enable-opus:使用Opus语音编解码器构建引擎 [默认:False]
  • --sanitize=SANITIZE:使用sanitizers构建 [默认:]

编译器优化选项:

  • -T BUILD_TYPE, --build-type=BUILD_TYPE:构建类型:debug, release 或 none(自定义标志)
  • --enable-lto:如果可能,启用链接时优化 [默认:False]
  • --enable-poly-opt:如果可能,启用多面体优化 [默认:False]

子项目选项:

  • -S SKIP_SUBDIRS, --skip-subprojects=SKIP_SUBDIRS:不递归进入指定的子项目。只使用目录名。

Android选项:

  • --android=ANDROID_OPTS:启用为Android构建,格式:--android=,,,例如: --android=armeabi-v7a-hard,4.9,21

SDL2选项:

  • -s SDL2_PATH, --sdl2=SDL2_PATH:预编译的SDL2库路径(Windows必需)
  • --skip-sdl2-sanity-check:跳过SDL2健全性检查
Clone this wiki locally