为macOS平台编译

需求

要在Linux或其他类Unix系统下进行编译,需要满足以下条件:

  • Python 2.7+或Python 3.5+
  • Scons 构建系统
  • Xcode(或更轻巧的Xcode命令行工具)
  • 可选——yasm(用于WebM SIMD优化)

参见

有关Godot的SCons用法的一般概述,请参阅 构建系统介绍

开始编译

启动终端,然后进入引擎源代码的根目录。键入下面的指令:

scons platform=osx --jobs=$(sysctl -n hw.logicalcpu)

如果一切顺利,生成的二进制可执行文件将放在 `` bin`` 子目录中。该可执行文件包含整个引擎,并且运行时无需任何依赖项。 执行它将会启动项目管理器。

要像在官方版本中那样创建.app,您需要使用位于 misc/dist/osx_tools.app 中的模板。通常,使用 scons p=osx target=release_debug 用于 .64 优化二进制文件构建:

[email protected]:~/godot$ cp -r misc/dist/osx_tools.app ./Godot.app
[email protected]:~/godot$ mkdir -p Godot.app/Contents/MacOS
[email protected]:~/godot$ cp bin/godot.osx.tools.64 Godot.app/Contents/MacOS/Godot
[email protected]:~/godot$ chmod +x Godot.app/Contents/MacOS/Godot

同时为32位和64位编译

10.6之后的所有macOS版本都是只有64位的,因此对于大多数用户来说,可执行文件默认为 .64 的。如果要编译同时包含32位和64位代码的 .fat 可执行文件,您可以通过在scons命令中指定位来实现,如下所示:

[email protected]:~/godot$ scons platform=osx bits=fat

交叉编译

可以在Linux环境中为macOS编译(也可以在带有Cygwin的Windows中)。 为此,您需要 OSXCross 才能使用macOS作为目标平台。首先,按照说明安装它:

在您机器的某个地方克隆 OSXCross存储库 (或下载一个zip文件并将其解压缩到某处),例如:

[email protected]:~$ git clone https://github.com/tpoechtrager/osxcross.git /home/myuser/sources/osxcross
  1. 按照说明打包SDK:https://github.com/tpoechtrager/osxcross#packaging-the-sdk
  2. 按照说明安装OSXCross:https://github.com/tpoechtrager/osxcross#installation

之后,您需要将 OSXCROSS_ROOT 定义为OSXCross的安装路径(您克隆存储库/提取zip的位置),例如:

[email protected]:~$ export OSXCROSS_ROOT=/home/myuser/sources/osxcross

现在您可以像通常那样使用SCons进行编译:

[email protected]:~/godot$ scons platform=osx

如果您的OSXCross SDK版本与SCons构建系统期望的版本不同,则可以使用 osxcross_sdk 参数指定自定义版本:

[email protected]:~/godot$ scons platform=osx osxcross_sdk=darwin15