Don't skip the event on window close or else wxWidgets will destroy t… #640
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 FreeDV (macOS) | |
on: | |
push: | |
branches-ignore: | |
- 'dr-render-manual' | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Debug | |
jobs: | |
build: | |
# The CMake configure and build commands are platform agnostic and should work equally | |
# well on Windows or Mac. You can convert this to a matrix build if you need | |
# cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install packages | |
shell: bash | |
working-directory: ${{github.workspace}} | |
run: brew install automake libtool numpy sox octave | |
- name: Install octave-signal | |
shell: bash | |
working-directory: ${{github.workspace}} | |
run: | | |
# make sure gfortran is available | |
sudo ln -s /opt/homebrew/bin/gfortran-14 /opt/homebrew/bin/gfortran | |
ls /opt/homebrew/bin/gfortran* | |
#sudo mkdir /usr/local/gfortran | |
#ls /usr/local/Cellar | |
#sudo ln -s /usr/local/Cellar/gcc@14/*/lib/gcc/14 /usr/local/gfortran/lib | |
gfortran --version | |
octave-cli --eval "pkg install -forge control; pkg install -forge signal" | |
- name: Install virtual audio devices | |
shell: bash | |
working-directory: ${{github.workspace}} | |
run: ./build_macos_sound_drivers.sh | |
- name: Build freedv-gui | |
shell: bash | |
working-directory: ${{github.workspace}} | |
run: UT_ENABLE=1 ./build_osx.sh | |
- name: Workaround macOS permission issues | |
run: | | |
sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);" | |
sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/opt/off/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);" | |
- name: Execute unit tests | |
shell: bash | |
working-directory: ${{github.workspace}}/build_osx | |
run: | | |
FREEDV_COMPUTER_TO_RADIO_DEVICE="BlackHoleRadio 2ch" FREEDV_RADIO_TO_COMPUTER_DEVICE="BlackHoleRadio 2ch 2" FREEDV_COMPUTER_TO_SPEAKER_DEVICE="BlackHole1 2ch" FREEDV_MICROPHONE_TO_COMPUTER_DEVICE="BlackHole2 2ch" ctest -V | |
- name: Package executable | |
working-directory: ${{github.workspace}}/build_osx | |
run: | | |
make release | |
- name: Stash disk image | |
uses: actions/upload-artifact@v4 | |
with: | |
name: FreeDV | |
path: ${{github.workspace}}/build_osx/src/FreeDV.dmg |