Visual Studio 项目¶
构建系统会自动生成 Visual Studio 项目文件以辅助开发,作为命令行中正常 mach build
的一部分。
您可以在 $OBJDIR/msvc/mozilla.sln
找到解决方案文件。
如果您想在进行完整构建之前/无需进行完整构建生成项目文件,则运行 ./mach configure && ./mach build-backend -b VisualStudio
将执行此操作。
解决方案结构¶
Visual Studio 解决方案包含数百个项目,跨越数千个文件。为了帮助组织,解决方案被划分为以下树/文件夹
- 构建目标
此文件夹包含常见的构建目标。full 项目用于执行完整构建。binaries 项目用于仅构建二进制文件。visual-studio 项目可以构建以重新生成 Visual Studio 项目文件。
对任何这些目标执行clean操作将清除整个构建输出。
- 二进制文件
此文件夹包含可以在 Visual Studio 中执行的常用二进制文件。如果您正在构建 Firefox 桌面应用程序,则firefox项目将启动 firefox.exe。您可能希望将其中一个设置为您的启动项目。
- 库
此文件夹包含作为构建的一部分生成的每个静态库的条目。这些大致对应于树中包含 C/C++ 的每个目录。例如,来自
dom/base
的代码将包含在dom_base
项目中。这些项目在构建时不会执行任何操作。如果您在此处构建项目,则会构建binaries构建目标项目。
更新项目文件¶
重新运行 ./mach build
或 ./mach build-backend -b VisualStudio
将在树更改后更新 Visual Studio 文件。
移动项目文件¶
生成的 Visual Studio 解决方案和项目文件应该是可移植的。如果您想将它们移动到非默认目录,它们应该继续从任何位置工作。如果它们没有工作,请提交错误报告。
通过 Visual Studio 调用 mach¶
可以通过 Visual Studio 运行 mach 命令。这里有一些轻量级的魔法。
除了 Visual Studio 项目文件外,还有一个名为 mach.bat
的批处理脚本。此批处理脚本设置在 Visual Studio 项目生成时您MozillaBuild开发环境中存在的环境变量,并在带有指定给批处理脚本的参数的 msys shell 中调用mach。此脚本基本上允许您在 MozillaBuild 环境中调用 mach 命令,而无需加载 MozillaBuild。
项目目前分别使用 mach build
和 mach clobber
命令进行构建和清理树。请注意,运行 clobber
会删除 Visual Studio 项目文件,而运行 build
会重新创建它们。这可能会在 Visual Studio 运行时导致问题。因此,目前不建议也不支持完全重建,但增量构建应该可以正常工作。
批处理脚本不限制其用途:可以调用任何 mach 命令。开发人员可以使用此事实添加自定义项目和调用其他 mach 命令的命令。