@@ -116,7 +116,12 @@ jobs: | |||
ninja -C build | |||
macos: | |||
runs-on: macos-11 | |||
strategy: | |||
matrix: | |||
include: | |||
- os: macos-11 | |||
- os: macos-12 | |||
runs-on: ${{ matrix.os }} | |||
steps: | |||
- uses: actions/checkout@v3 | |||
with: | |||
@@ -124,15 +129,11 @@ jobs: | |||
- name: Set up dependencies | |||
run: | | |||
brew install meson | |||
- name: Build macOS universal | |||
env: | |||
CFLAGS: -mmacosx-version-min=10.12 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_12 | |||
CXXFLAGS: -mmacosx-version-min=10.12 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_12 | |||
LDFLAGS: -mmacosx-version-min=10.12 | |||
- name: Build | |||
run: | | |||
meson build --buildtype=release --prefix=/usr -Dbuild-universal=true | |||
ninja -C build | |||
- name: Install macOS universal | |||
- name: Install | |||
run: | | |||
ninja -C build install | |||
- name: Set sha8 (release) | |||
@@ -148,9 +149,18 @@ jobs: | |||
tar czf ${{ github.event.repository.name }}-macos-${{ github.event.pull_request.number || env.SHA8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3 | |||
- uses: actions/upload-artifact@v3 | |||
with: | |||
name: ${{ github.event.repository.name }}-macos-${{ github.event.pull_request.number || env.SHA8 }} | |||
name: ${{ github.event.repository.name }}-${{ matrix.os }}-${{ github.event.pull_request.number || env.SHA8 }} | |||
path: | | |||
*.tar.gz | |||
- uses: softprops/action-gh-release@v1 | |||
if: ${{ matrix.os == 'macos-11' && startsWith(github.ref, 'refs/tags/') }} | |||
with: | |||
tag_name: ${{ github.ref_name }} | |||
name: ${{ github.ref_name }} | |||
draft: false | |||
prerelease: false | |||
files: | | |||
*.tar.gz | |||
windows: | |||
strategy: | |||
@@ -152,6 +152,7 @@ if not os_darwin | |||
] | |||
endif | |||
# FIXME check for clang instead | |||
if not (os_darwin or os_windows) | |||
build_flags += [ | |||
'-fno-gnu-unique' | |||
@@ -233,6 +234,9 @@ if os_darwin | |||
build_flags += [ | |||
'-DMAC=1', | |||
'-DGL_SILENCE_DEPRECATION=1', | |||
'-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_15', | |||
'-DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_15', | |||
'-mmacosx-version-min=10.15', | |||
] | |||
build_flags_cpp += [ | |||
'-ObjC++', | |||
@@ -251,17 +255,15 @@ elif os_windows | |||
build_flags_cpp += [ | |||
'-fpermissive', | |||
] | |||
elif linux_headless | |||
build_flags += [ | |||
'-DLINUX=1', | |||
] | |||
build_flags_cpp += [ | |||
'-DJUCE_AUDIOPROCESSOR_NO_GUI=1', | |||
] | |||
else | |||
build_flags += [ | |||
'-DLINUX=1', | |||
] | |||
if linux_headless | |||
build_flags_cpp += [ | |||
'-DJUCE_AUDIOPROCESSOR_NO_GUI=1', | |||
] | |||
endif | |||
endif | |||
############################################################################### | |||
@@ -287,18 +289,25 @@ if lto_optimizations | |||
endif | |||
if os_darwin | |||
link_flags += [ | |||
'-mmacosx-version-min=10.15', | |||
] | |||
link_flags_release += [ | |||
'-Wl,-dead_strip,-dead_strip_dylibs,-x', | |||
] | |||
if build_universal | |||
link_flags += [ | |||
'-arch', 'x86_64', | |||
'-arch', 'arm64', | |||
] | |||
endif | |||
link_flags_release += [ | |||
'-Wl,-dead_strip,-dead_strip_dylibs,-x', | |||
] | |||
elif os_windows | |||
link_flags += [ | |||
'-static', | |||
'-Wl,--as-needed,--no-undefined', | |||
] | |||
link_flags_release += [ | |||
'-Wl,-O1,--gc-sections,--strip-all', | |||
] | |||
else | |||
link_flags += [ | |||