Skip to content

Commit

Permalink
Merge pull request #10 from ccrma/min_macos_version
Browse files Browse the repository at this point in the history
add macos universal binary support
  • Loading branch information
nshaheed authored Oct 12, 2024
2 parents be83a28 + a1e5250 commit d101a7c
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 2 deletions.
20 changes: 20 additions & 0 deletions cross/arm64-macos.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[binaries]
c = ['clang']
cpp = ['clang++']
objc = ['clang']
objcpp = ['clang++']
ar = ['ar']
strip = ['strip']
pkg-config = ['pkg-config']

[host_machine]
system = 'darwin'
cpu_family = 'aarch64'
cpu = 'aarch64'
endian = 'little'

[built-in options]
c_args = ['-arch', 'arm64']
cpp_args = ['-arch', 'arm64']
c_link_args = ['-arch', 'arm64']
cpp_link_args = ['-arch', 'arm64']
20 changes: 20 additions & 0 deletions cross/x86_64-macos.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[binaries]
c = ['clang']
cpp = ['clang++']
objc = ['clang']
objcpp = ['clang++']
ar = ['ar']
strip = ['strip']
pkg-config = ['pkg-config']

[host_machine]
system = 'darwin'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'

[built-in options]
c_args = ['-arch', 'x86_64']
cpp_args = ['-arch', 'x86_64']
c_link_args = ['-arch', 'x86_64']
cpp_link_args = ['-arch', 'x86_64']
19 changes: 17 additions & 2 deletions makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,28 @@ build-release:
build-release-win:
meson setup builddir-release --backend vs

setup-mac-x86_64:
meson setup --cross-file cross/x86_64-macos.txt builddir-x86_64

setup-mac-arm64:
meson setup --cross-file cross/arm64-macos.txt builddir-arm64

build-mac-x86_64: setup-mac-x86_64
meson compile -C builddir-x86_64

build-mac-arm64: setup-mac-arm64
meson compile -C builddir-arm64

install:
meson install -C builddir-release

.PHONY: mac osx linux linux-oss linux-jack linux-alsa linux-all
mac osx linux linux-oss linux-jack linux-alsa linux-all: build-release
meson compile -C builddir-release

mac-universal: build-mac-x86_64 build-mac-arm64
lipo -create -output chump builddir-x86-64/chump-cli/chump builddir-arm64/chump-cli/chump

.PHONY: win win32 win64
win win32 win64: build-release-win
meson compile -C builddir-release
Expand All @@ -35,5 +50,5 @@ ifneq ("$(wildcard builddir-debug)","")
meson compile -C builddir-debug --clean
endif

clean-all:
rm -rf builddir-release builddir-debug
clean-all:
rm -rf builddir-release builddir-debug builddir-x86_64 builddir-arm64
6 changes: 6 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ project('chump', ['c', 'cpp'],

add_global_arguments(language : ['c', 'cpp'])

if host_machine.system() == 'darwin'
# Set minimum macOS version only for macOS
add_project_arguments('-mmacosx-version-min=12', language : 'c')
add_project_arguments('-mmacosx-version-min=12', language : 'cpp')
endif

inc = [include_directories('include')]

subdir('include')
Expand Down

0 comments on commit d101a7c

Please sign in to comment.