import v1.1 changes from lv2 repo (LPF and dc blocker optional) #218
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: [push, pull_request] | |
jobs: | |
linux: | |
strategy: | |
matrix: | |
target: [linux-arm64, linux-armhf, linux-riscv64, linux-x86_64] | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: distrho/dpf-cmake-action@v1 | |
with: | |
dpf_path: ./modules/dpf | |
lto: true | |
pawpaw: true | |
target: ${{ matrix.target }} | |
macos: | |
env: | |
WELCOME_TXT: ${{ github.workspace }}/utils/macos-installer-welcome.txt | |
strategy: | |
matrix: | |
target: [macos-universal-10.15] | |
runs-on: macos-11 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: distrho/dpf-cmake-action@v1 | |
with: | |
dpf_path: ./modules/dpf | |
lto: true | |
pawpaw: true | |
target: ${{ matrix.target }} | |
windows: | |
strategy: | |
matrix: | |
target: [win64] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: distrho/dpf-cmake-action@v1 | |
with: | |
dpf_path: ./modules/dpf | |
lto: true | |
pawpaw: true | |
target: ${{ matrix.target }} | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.ARTIFACT_BASENAME }}-installer | |
path: | | |
*-installer.exe | |
- uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
tag_name: ${{ github.ref_name }} | |
name: ${{ github.ref_name }} | |
draft: false | |
prerelease: false | |
files: | | |
*-installer.exe | |
wasm: | |
strategy: | |
matrix: | |
target: [standalone, mod] | |
runs-on: ubuntu-22.04 | |
env: | |
EMSCRIPTEN_VERSION: 3.1.27 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Set up cache | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/emsdk | |
key: emsdk-v1 | |
- name: Set up dependencies | |
run: | | |
sudo apt-get update -qq | |
sudo apt-get install -yqq brotli | |
mkdir bin | |
[ -d ~/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/emsdk | |
cd ~/emsdk && ./emsdk install ${{ env.EMSCRIPTEN_VERSION }} && ./emsdk activate ${{ env.EMSCRIPTEN_VERSION }} | |
- name: Build simd-optimized | |
env: | |
AR: emar | |
CC: emcc | |
CXX: em++ | |
NM: emnm | |
RANLIB: emranlib | |
STRIP: emstrip | |
PKG_CONFIG: false | |
CFLAGS: -O3 -ffast-math -fdata-sections -ffunction-sections -fno-strict-aliasing -flto -msse -msse2 -msse3 -msimd128 | |
CXXFLAGS: -O3 -ffast-math -fdata-sections -ffunction-sections -fno-strict-aliasing -flto -msse -msse2 -msse3 -msimd128 -DPUGL_WASM_NO_KEYBOARD_INPUT -DPUGL_WASM_NO_MOUSEWHEEL_INPUT | |
LDFLAGS: -O3 -fdata-sections -ffunction-sections -fno-strict-aliasing -flto -Wl,--gc-sections -sAGGRESSIVE_VARIABLE_ELIMINATION=1 -Werror=lto-type-mismatch | |
run: | | |
source ~/emsdk/emsdk_env.sh | |
make -C src/standalone features | |
make -C src/standalone NOOPT=true MOD_BUILD=${{ matrix.target == 'mod' }} -j $(nproc) | |
mv build/bin/*.* bin/ | |
- name: Cleanup | |
run: | | |
rm -rf build modules/dpf/build | |
- name: Build non-optimized | |
env: | |
AR: emar | |
CC: emcc | |
CXX: em++ | |
NM: emnm | |
RANLIB: emranlib | |
STRIP: emstrip | |
PKG_CONFIG: false | |
CFLAGS: -O3 -ffast-math -fdata-sections -ffunction-sections -fno-strict-aliasing -flto | |
CXXFLAGS: -O3 -ffast-math -fdata-sections -ffunction-sections -fno-strict-aliasing -flto -DPUGL_WASM_NO_KEYBOARD_INPUT -DPUGL_WASM_NO_MOUSEWHEEL_INPUT | |
LDFLAGS: -O3 -fdata-sections -ffunction-sections -fno-strict-aliasing -flto -Wl,--gc-sections -sAGGRESSIVE_VARIABLE_ELIMINATION=1 -Werror=lto-type-mismatch | |
run: | | |
source ~/emsdk/emsdk_env.sh | |
make -C src/standalone features | |
make -C src/standalone NOOPT=true NOSIMD=true MOD_BUILD=${{ matrix.target == 'mod' }} -j $(nproc) | |
mv build/bin/*.* bin/ | |
- name: Pack binaries | |
run: | | |
cd bin | |
brotli -k -q 11 *.* | |
zip -r -9 ../${{ github.event.repository.name }}-wasm-${{ matrix.target }}.zip $(ls *.*) | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ github.event.repository.name }}-wasm-${{ matrix.target }} | |
path: | | |
*.zip | |
pluginval: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: distrho/dpf-cmake-action@v1 | |
with: | |
dpf_path: ./modules/dpf | |
target: pluginval | |
source: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: distrho/dpf-cmake-action@v1 | |
with: | |
dpf_path: ./modules/dpf | |
target: source |