add new legetens.o and surface_tree_routs.o files #5
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: Generate Matlab mex files | |
on: [push, pull_request] | |
jobs: | |
mex-ci: | |
name: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Set up MATLAB | |
uses: matlab-actions/setup-matlab@v2 | |
with: | |
release: R2023b | |
cache: true | |
- name: Generate Windows mex file | |
if: runner.os == 'Windows' | |
run: | | |
export PATH=/d/hostedtoolcache/windows/MATLAB/2023.2.999/x64/bin/win64:$PATH | |
export PATH=/c/msys64/usr/bin:$PATH | |
export PATH=/c/msys64/mingw64/bin:$PATH | |
export MW_MINGW64_LOC=/c/msys64/mingw64 | |
pacman -Sy --noconfirm make mingw-w64-x86_64-toolchain | |
mex -setup:.github/workflows/mex_C_win64.xml C | |
cp make.inc.windows.mexci make.inc | |
/c/msys64/usr/bin/make matlab | |
shell: C:\msys64\usr\bin\bash.exe {0} | |
- name: Generate macOS mex file | |
if: runner.os == 'macOS' | |
run: | | |
brew install gfortran | |
sed 's/\/Applications\/MATLAB_R\*/\/Users\/runner\/hostedtoolcache\/MATLAB\/2023.2.999\/arm64\/MATLAB.app/' make.inc.macos_arm64.gnu > make.inc | |
sed -i -e 's/MEXLIBS += \$(MLBLAS.*/MEXLIBS = `gfortran --print-file-name libquadmath.a` `gfortran --print-file-name libstdc++.a` `gfortran --print-file-name libatomic.a` `gfortran --print-file-name libgfortran.a` `gfortran --print-file-name libgomp.a` `gfortran --print-file-name libgcc.a` -ld_classic -lmwblas -lmwlapack/' makefile | |
make matlab | |
- name: Generate Linux mex file | |
if: runner.os == 'Linux' | |
run: | | |
make matlab | |
- name: Run Matlab test | |
uses: matlab-actions/run-command@v2 | |
with: | |
command: cd('matlab/test'), helm3d_transmission_routsTest | |
- name: Upload mex files | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{matrix.os}}-R2023b-fmm3dbie-mex | |
path: ${{runner.workspace}}/fmm3dbie/matlab/fmm3dbie_routs.mex* | |
- name: Setup tmate session | |
if: ${{ failure() }} | |
uses: mxschmitt/action-tmate@v3 |