Skip to content

Commit 9819309

Browse files
committed
build universal binary on macos
1 parent a40c8a5 commit 9819309

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ scripts/tmp*
1313
# Command built using `make build`
1414
/objectbox-generator
1515
/objectbox-generator.exe
16+
build/
1617

1718
# CMake/C++ Examples:
1819
examples/*/_deps

Makefile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,14 @@ all: depend build
1414
# Link statically (except for Darwin)
1515
ifneq ($(shell uname -s),Darwin)
1616
BUILD_GO_LDFLAGS=-ldflags '-linkmode external -w -extldflags "-static"'
17-
endif
18-
1917
build: ## Build all targets
2018
CGO_ENABLED=1 go build ${BUILD_GO_LDFLAGS} ./cmd/objectbox-generator/
19+
else
20+
build: ## Build universal binary (arm64, amd64)
21+
CGO_ENABLED=1 GOARCH=arm64 go build -o build/objectbox-generator-arm64 ./cmd/objectbox-generator/
22+
CGO_ENABLED=1 GOARCH=amd64 go build -o build/objectbox-generator-amd64 ./cmd/objectbox-generator/
23+
lipo -create -output objectbox-generator build/objectbox-generator-arm64 build/objectbox-generator-amd64
24+
endif
2125

2226
reinstall: build ## Update installed objectbox-generator
2327
mv objectbox-generator "$(shell which objectbox-generator)"

third_party/flatbuffers-c-bridge/build.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ if [[ "$(uname)" == MINGW* ]] || [[ "$(uname)" == CYGWIN* ]]; then
2626
# buildOutputDir=/${buildType}
2727
# buildArgs=
2828
# buildArgs="-- /m" fails with "error MSB1008: Only one project can be specified."
29+
elif [[ "$(uname)" == Darwin ]]; then # build universal binary
30+
configArgs+=' -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"'
2931
fi
3032

3133
function build() {

0 commit comments

Comments
 (0)