47
47
- uses : actions/checkout@v3
48
48
- name : Install dependencies
49
49
run : |
50
- sudo apt install ninja-build
50
+ sudo apt install ninja-build libbenchmark-dev
51
51
if [ "${{ matrix.cxxlib }}" = "libc++" ]; then
52
52
sudo apt remove -y 'libc++*'
53
53
apt search libunwind
71
71
export EMBEDDED_BLOCKS_RUNTIME=ON
72
72
fi
73
73
ls -lahR /usr/lib/llvm-${{ matrix.llvm-version }}/lib/
74
- cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -G Ninja -DTESTS=ON -DEMBEDDED_BLOCKS_RUNTIME=$EMBEDDED_BLOCKS_RUNTIME -DCMAKE_C_COMPILER=clang-${{matrix.llvm-version}} -DCMAKE_OBJC_COMPILER=clang-${{matrix.llvm-version}} -DCMAKE_ASM_COMPILER=clang-${{matrix.llvm-version}} -DCMAKE_CXX_COMPILER=clang++-${{matrix.llvm-version}} -DCMAKE_OBJCXX_COMPILER=clang++-${{matrix.llvm-version}} -DCMAKE_CXX_FLAGS="-stdlib=${{matrix.cxxlib}}"
74
+ cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -G Ninja -DTESTS=ON -DBENCHMARKS=ON - DEMBEDDED_BLOCKS_RUNTIME=$EMBEDDED_BLOCKS_RUNTIME -DCMAKE_C_COMPILER=clang-${{matrix.llvm-version}} -DCMAKE_OBJC_COMPILER=clang-${{matrix.llvm-version}} -DCMAKE_ASM_COMPILER=clang-${{matrix.llvm-version}} -DCMAKE_CXX_COMPILER=clang++-${{matrix.llvm-version}} -DCMAKE_OBJCXX_COMPILER=clang++-${{matrix.llvm-version}} -DCMAKE_CXX_FLAGS="-stdlib=${{matrix.cxxlib}}"
75
75
# Build with a nice ninja status line
76
76
- name : Build
77
77
working-directory : ${{github.workspace}}/build
81
81
working-directory : ${{github.workspace}}/build
82
82
run : |
83
83
ctest --output-on-failure -j 4
84
+ - name : Benchmark
85
+ working-directory : ${{github.workspace}}/build
86
+ run : |
87
+ ./benchmark/benchmark_objc_msgSend
84
88
85
89
qemu-crossbuild :
86
90
strategy :
@@ -237,12 +241,12 @@ jobs:
237
241
with :
238
242
msystem : ${{ matrix.msystem }}
239
243
update : true
240
- install : git mingw-w64-${{ matrix.package-prefix }}-clang mingw-w64-${{ matrix.package-prefix }}-lld mingw-w64-${{ matrix.package-prefix }}-cmake
244
+ install : git mingw-w64-${{ matrix.package-prefix }}-clang mingw-w64-${{ matrix.package-prefix }}-lld mingw-w64-${{ matrix.package-prefix }}-cmake mingw-w64-${{ matrix.package-prefix }}-benchmark
241
245
- name : Configure CMake
242
246
run : |
243
247
mkdir build
244
248
cd build
245
- ${{ matrix.cmake-flags }} cmake .. -DTESTS=ON -DCMAKE_C_COMPILER="clang" -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DSTRICT_APPLE_COMPATIBILITY=${{ matrix.strict-apple-compatibility }}
249
+ ${{ matrix.cmake-flags }} cmake .. -DTESTS=ON -DBENCHMARKS=ON - DCMAKE_C_COMPILER="clang" -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DSTRICT_APPLE_COMPATIBILITY=${{ matrix.strict-apple-compatibility }}
246
250
- name : Build
247
251
working-directory : build
248
252
run : |
@@ -251,6 +255,10 @@ jobs:
251
255
working-directory : build
252
256
run : |
253
257
ctest -j 4 --output-on-failure -T test ${{ matrix.ctest-flags }}
258
+ - name : Benchmark
259
+ working-directory : build
260
+ run : |
261
+ ./benchmarks/benchmark_objc_msgSend.exe
254
262
- name : Install
255
263
working-directory : build
256
264
run : |
0 commit comments