feat(build): compile "universal" libraries and executables for Mac (#6852)

to support both x86_64 and arm64 with a single artifact
This commit is contained in:
Ivan Dlugos
2021-09-23 21:36:20 +02:00
committed by GitHub
parent 354d97f6da
commit e72e18d9fd
2 changed files with 7 additions and 1 deletions

View File

@@ -72,6 +72,11 @@ jobs:
- name: build
# NOTE: we need this _build dir to not have xcodebuild's default ./build dir clash with the BUILD file.
run: xcodebuild -toolchain clang -configuration Release -target flattests SYMROOT=$(PWD)/_build
- name: check that the binary is "universal"
run: |
info=$(file _build/Release/flatc)
echo $info
echo $info | grep "universal binary with 2 architectures"
- name: test
run: _build/Release/flattests
- name: upload build artifacts
@@ -133,7 +138,7 @@ jobs:
- name: Build
working-directory: kotlin
run: ./gradlew clean iosX64Test macosX64Test jsTest jsBrowserTest
build-kotlin-linux:
name: Build Kotlin Linux
runs-on: ubuntu-latest

View File

@@ -247,6 +247,7 @@ elseif(CMAKE_COMPILER_IS_GNUCXX)
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
if(APPLE)
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")