为macOS平台编译

需求

For compiling under macOS, the following is required:

注解

If you have Homebrew installed, you can easily install SCons and yasm using the following command:

brew install scons yasm

如果你还没有Xcode的命令行工具,安装Homebrew也会自动获取它们。

参见

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

开始编译

启动终端,进入引擎源代码的根目录。

若要为英特尔(x86-64)架构的Mac编译,请使用:

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

To compile for Apple Silicon (ARM64) powered Macs, use:

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

要在一个 "Universal 2 "二进制中支持这两种架构,请运行上述两个命令,然后使用``lipo``将它们捆绑在一起::

lipo -create bin/godot.osx.tools.x86_64 bin/godot.osx.tools.arm64 -output bin/godot.osx.tools.universal

If all goes well, the resulting binary executable will be placed in the bin/ subdirectory. This executable file contains the whole engine and runs without any dependencies. Executing it will bring up the project manager.

注解

如果你想为自己的Godot构建和官方发布使用单独的编辑器设置,你可以通过在``bin/文件夹中创建一个名为._sc_``或``_sc_```的文件来启用:ref:doc_data_paths_self_contained_mode

To create an .app bundle like in the official builds, you need to use the template located in misc/dist/osx_tools.app. Typically, for an optimized editor binary built with target=release_debug:

cp -r misc/dist/osx_tools.app ./Godot.app
mkdir -p Godot.app/Contents/MacOS
cp bin/godot.osx.opt.tools.universal Godot.app/Contents/MacOS/Godot
chmod +x Godot.app/Contents/MacOS/Godot

编译精简和服务器构建

要编译一个 精简 构建,它提供了编辑器功能,可以自动导出项目,使用:

scons platform=server tools=yes target=release_debug --jobs=$(sysctl -n hw.logicalcpu)

要编译一个经过优化以运行专用游戏的 服务器 版本,使用以下构建选项:

scons platform=server tools=no target=release --jobs=$(sysctl -n hw.logicalcpu)

Cross-compiling for macOS from Linux

It is possible to compile for macOS in a Linux environment (and maybe also in Windows using the Windows Subsystem for Linux). For that, you'll need to install OSXCross to be able to use macOS as a target. First, follow the instructions to install it:

Clone the OSXCross repository somewhere on your machine (or download a ZIP file and extract it somewhere), e.g.:

git clone --depth=1 https://github.com/tpoechtrager/osxcross.git "$HOME/osxcross"
  1. 按照说明打包SDK:https://github.com/tpoechtrager/osxcross#packaging-the-sdk

  2. 按照说明安装OSXCross:https://github.com/tpoechtrager/osxcross#installation

After that, you will need to define the OSXCROSS_ROOT as the path to the OSXCross installation (the same place where you cloned the repository/extracted the zip), e.g.:

export OSXCROSS_ROOT="$HOME/osxcross"

Now you can compile with SCons like you normally would:

scons platform=osx

If you have an OSXCross SDK version different from the one expected by the SCons buildsystem, you can specify a custom one with the osxcross_sdk argument:

scons platform=osx osxcross_sdk=darwin15