4747 - uses : actions/checkout@v3
4848 - name : Install dependencies
4949 run : |
50- sudo apt install ninja-build
50+ sudo apt install ninja-build libbenchmark-dev
5151 if [ "${{ matrix.cxxlib }}" = "libc++" ]; then
5252 sudo apt remove -y 'libc++*'
5353 apt search libunwind
7171 export EMBEDDED_BLOCKS_RUNTIME=ON
7272 fi
7373 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}}"
7575 # Build with a nice ninja status line
7676 - name : Build
7777 working-directory : ${{github.workspace}}/build
8181 working-directory : ${{github.workspace}}/build
8282 run : |
8383 ctest --output-on-failure -j 4
84+ - name : Benchmark
85+ working-directory : ${{github.workspace}}/build
86+ run : |
87+ ./benchmarks/benchmark_objc_msgSend
88+ if : matrix.cxxlib == 'libstdc++'
8489
8590 qemu-crossbuild :
8691 strategy :
@@ -237,12 +242,12 @@ jobs:
237242 with :
238243 msystem : ${{ matrix.msystem }}
239244 update : true
240- install : git mingw-w64-${{ matrix.package-prefix }}-clang mingw-w64-${{ matrix.package-prefix }}-lld mingw-w64-${{ matrix.package-prefix }}-cmake
245+ 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
241246 - name : Configure CMake
242247 run : |
243248 mkdir build
244249 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 }}
250+ ${{ 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 }}
246251 - name : Build
247252 working-directory : build
248253 run : |
@@ -251,6 +256,10 @@ jobs:
251256 working-directory : build
252257 run : |
253258 ctest -j 4 --output-on-failure -T test ${{ matrix.ctest-flags }}
259+ - name : Benchmark
260+ working-directory : build
261+ run : |
262+ ./benchmarks/benchmark_objc_msgSend.exe
254263 - name : Install
255264 working-directory : build
256265 run : |
0 commit comments