Skip to content

Commit

Permalink
Merge pull request #15 from dbhart/patch-1
Browse files Browse the repository at this point in the history
Update to build on both Intel and ARM MacOS systems
  • Loading branch information
woohn authored Dec 16, 2024
2 parents 9ba43c5 + 23aee3e commit be3ce13
Showing 1 changed file with 21 additions and 7 deletions.
28 changes: 21 additions & 7 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
os: [windows-latest, ubuntu-latest, macos-13, macos-latest]
include:
- os: windows-latest
cmake_generator: -G "Visual Studio 17 2022" -A "x64"
Expand All @@ -26,10 +26,17 @@ jobs:
cmake_generator: -G "Unix Makefiles"
continue-on-error: false
alias: Linux
run_alias: Linux
- os: macos-13
cmake_generator: -G "Xcode"
continue-on-error: false
alias: intel-mac
run_alias: Darwin
- os: macos-latest
cmake_generator: -G "Xcode"
continue-on-error: false
alias: Darwin
alias: apple-silicon
run_alias: Darwin
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.continue-on-error }}

Expand All @@ -41,7 +48,7 @@ jobs:
submodules: true

- name: Build OpenMP Binaries for MacOS via Homebrew
if: ${{ matrix.os == 'macos-latest' }}
if: ${{ matrix.os == 'macos-latest' || matrix.os == 'macos-13' }}
run: |
brew reinstall --build-from-source --formula ./shell/apple/libomp.rb
Expand All @@ -67,10 +74,17 @@ jobs:
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
if: ${{ matrix.os != 'windows-latest' }}
run: |
chmod +x ./build/_CPack_Packages/${{ matrix.alias }}/ZIP/EPANETMSX-${{ env.BuildVersion }}-${{ matrix.alias }}/bin/runepanet
chmod +x ./build/_CPack_Packages/${{ matrix.alias }}/ZIP/EPANETMSX-${{ env.BuildVersion }}-${{ matrix.alias }}/bin/runepanetmsx
./build/_CPack_Packages/${{ matrix.alias }}/ZIP/EPANETMSX-${{ env.BuildVersion }}-${{ matrix.alias }}/bin/runepanetmsx ./Examples/example.inp ./Examples/example.msx ./Examples/example.rpt ./Examples/example.out
chmod +x ./build/_CPack_Packages/${{ matrix.run_alias }}/ZIP/EPANETMSX-${{ env.BuildVersion }}-${{ matrix.run_alias }}/bin/runepanet
chmod +x ./build/_CPack_Packages/${{ matrix.run_alias }}/ZIP/EPANETMSX-${{ env.BuildVersion }}-${{ matrix.run_alias }}/bin/runepanetmsx
./build/_CPack_Packages/${{ matrix.run_alias }}/ZIP/EPANETMSX-${{ env.BuildVersion }}-${{ matrix.run_alias }}/bin/runepanetmsx ./Examples/example.inp ./Examples/example.msx ./Examples/example.rpt ./Examples/example.out
- name: Qualify darwin artifacts with os versions
if: matrix.os == 'macos-13' || matrix.os == 'macos-14'
run: |
cd build
for file in *.zip; do mv "$file" "${file%.zip}-${{ matrix.alias }}.zip"; done
for file in *.tar.gz; do mv "$file" "${file%.tar.gz}-${{ matrix.alias }}.tar.gz"; done
cd ..
- name: Upload artifacts
if: ${{ always() }}
Expand All @@ -79,4 +93,4 @@ jobs:
name: build-test-artifacts
path: |
build/*.zip
build/*.tar.gz
build/*.tar.gz

0 comments on commit be3ce13

Please sign in to comment.