123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- name: x86-64
- on: [ push, pull_request ]
- env:
- BUILD_TYPE: Release
- jobs:
- build:
- strategy:
- matrix:
- os: [ windows-latest, ubuntu-latest, macos-latest ]
- cpu_detection: [ 0, 1 ]
- fail-fast: false
- runs-on: ${{matrix.os}}
- steps:
- - name: Install build dependencies
- if: ${{matrix.os == 'ubuntu-latest'}}
- run: sudo apt-get install llvm ninja-build
- - name: Install build dependencies
- if: ${{matrix.os == 'macos-latest'}}
- run: |
- brew install llvm ninja
- echo "/usr/local/opt/llvm/bin" >> $GITHUB_PATH
- - name: Checkout dynarmic repo
- uses: actions/checkout@v2
- - name: Checkout ext-boost repo
- uses: actions/checkout@v2
- with:
- repository: MerryMage/ext-boost
- path: externals/ext-boost
- - name: Checkout unicorn repo
- if: ${{matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'}}
- uses: actions/checkout@v2
- with:
- repository: MerryMage/unicorn
- path: externals/unicorn
- - name: Build unicorn
- if: ${{matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'}}
- working-directory: externals/unicorn
- run: UNICORN_ARCHS=aarch64,arm ./make.sh
- - name: Configure CMake
- if: ${{matrix.os == 'ubuntu-latest'}}
- env:
- CC: gcc-10
- CXX: g++-10
- CXXFLAGS: -Wp,-D_GLIBCXX_ASSERTIONS
- run: >
- cmake
- -B ${{github.workspace}}/build
- -DBOOST_INCLUDEDIR=${{github.workspace}}/externals/ext-boost
- -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- -DDYNARMIC_ENABLE_CPU_FEATURE_DETECTION=${{matrix.cpu_detection}}
- -DDYNARMIC_TESTS_USE_UNICORN=1
- -DDYNARMIC_USE_LLVM=1
- -DLIBUNICORN_INCLUDE_DIR=${{github.workspace}}/externals/unicorn/include
- -DLIBUNICORN_LIBRARY=${{github.workspace}}/externals/unicorn/libunicorn.a
- -G Ninja
- - name: Configure CMake
- if: ${{matrix.os == 'macos-latest'}}
- run: >
- cmake
- -B ${{github.workspace}}/build
- -DBOOST_INCLUDEDIR=${{github.workspace}}/externals/ext-boost
- -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- -DDYNARMIC_ENABLE_CPU_FEATURE_DETECTION=${{matrix.cpu_detection}}
- -DDYNARMIC_TESTS_USE_UNICORN=1
- -DDYNARMIC_USE_LLVM=1
- -DLIBUNICORN_INCLUDE_DIR=${{github.workspace}}/externals/unicorn/include
- -DLIBUNICORN_LIBRARY=${{github.workspace}}/externals/unicorn/libunicorn.a
- -G Ninja
- - name: Configure CMake
- if: ${{matrix.os == 'windows-latest'}}
- run: >
- cmake
- -B ${{github.workspace}}/build
- -DBOOST_INCLUDEDIR=${{github.workspace}}/externals/ext-boost
- -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- -DDYNARMIC_ENABLE_CPU_FEATURE_DETECTION=${{matrix.cpu_detection}}
- -G "Visual Studio 17 2022"
- -A x64
- - name: Build
- working-directory: ${{github.workspace}}/build
- run: cmake --build . --config Release
- - name: Test
- env:
- DYLD_FALLBACK_LIBRARY_PATH: ${{github.workspace}}/externals/unicorn
- working-directory: ${{github.workspace}}/build
- run: ctest --extra-verbose -C ${{env.BUILD_TYPE}}
|