Add OSX arm64 build target.
New "macos_arch" to specify the desired arch, and "macos_sdk_path" to override the default SDK path.pull/584/head
parent
dbf3a13d0f
commit
5b8bcb7164
|
@ -145,6 +145,33 @@ jobs:
|
|||
run: |
|
||||
./Godot.app/Contents/MacOS/Godot --path test -s script.gd
|
||||
|
||||
macos-arm64:
|
||||
name: Build (macOS, Clang, cross-compile arm64)
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2.3.4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Set up Python (for SCons)
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.9.1'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install scons
|
||||
|
||||
- name: Build godot-cpp
|
||||
run: |
|
||||
# The default SDK in github the actions environemnt seems to have problems compiling for arm64.
|
||||
# Use the latest 11.x SDK.
|
||||
SDK_BASE=/Library/Developer/CommandLineTools/SDKs
|
||||
SDK_VER=$(ls $SDK_BASE | grep "MacOSX11." | sort -r | head -n1)
|
||||
echo $SDK_BASE/$SDK_VER/
|
||||
scons target=release generate_bindings=yes macos_arch=arm64 macos_deployment_target=10.15 macos_sdk_path="$SDK_BASE/$SDK_VER/" -j $(sysctl -n hw.logicalcpu)
|
||||
|
||||
static-checks:
|
||||
name: Static Checks (clang-format)
|
||||
runs-on: ubuntu-20.04
|
||||
|
|
20
SConstruct
20
SConstruct
|
@ -143,6 +143,17 @@ opts.Add(
|
|||
'macOS deployment target',
|
||||
'default'
|
||||
)
|
||||
opts.Add(
|
||||
'macos_sdk_path',
|
||||
'macOS SDK path',
|
||||
''
|
||||
)
|
||||
opts.Add(EnumVariable(
|
||||
'macos_arch',
|
||||
'Target macOS architecture',
|
||||
'x86_64',
|
||||
['x86_64', 'arm64']
|
||||
))
|
||||
opts.Add(EnumVariable(
|
||||
'ios_arch',
|
||||
'Target iOS architecture',
|
||||
|
@ -217,14 +228,19 @@ elif env['platform'] == 'osx':
|
|||
'Only 64-bit builds are supported for the macOS target.'
|
||||
)
|
||||
|
||||
env.Append(CCFLAGS=['-std=c++14', '-arch', 'x86_64'])
|
||||
env.Append(CCFLAGS=['-std=c++14', '-arch', env['macos_arch']])
|
||||
|
||||
if env['macos_deployment_target'] != 'default':
|
||||
env.Append(CCFLAGS=['-mmacosx-version-min=' + env['macos_deployment_target']])
|
||||
env.Append(LINKFLAGS=['-mmacosx-version-min=' + env['macos_deployment_target']])
|
||||
|
||||
if env['macos_sdk_path']:
|
||||
env.Append(CCFLAGS=['-isysroot', env['macos_sdk_path']])
|
||||
env.Append(LINKFLAGS=['-isysroot', env['macos_sdk_path']])
|
||||
|
||||
env.Append(LINKFLAGS=[
|
||||
'-arch',
|
||||
'x86_64',
|
||||
env['macos_arch'],
|
||||
'-framework',
|
||||
'Cocoa',
|
||||
'-Wl,-undefined,dynamic_lookup',
|
||||
|
|
Loading…
Reference in New Issue