Skip to content

Commit 10532a3

Browse files
committed
chore(ricepp): install benchmark alongside artifacts
1 parent dd166de commit 10532a3

File tree

5 files changed

+38
-26
lines changed

5 files changed

+38
-26
lines changed

.docker/build-linux.sh

+1-2
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,9 @@ if [[ "-$BUILD_TYPE-" == *-static-* ]]; then
9393
export LDFLAGS="-L/opt/static-libs/$COMPILER/lib"
9494
CMAKE_ARGS="${CMAKE_ARGS} -DSTATIC_BUILD_DO_NOT_USE=1"
9595
CMAKE_ARGS="${CMAKE_ARGS} -DSTATIC_BUILD_EXTRA_PREFIX=/opt/static-libs/$COMPILER"
96-
else
97-
CMAKE_ARGS="${CMAKE_ARGS} -DWITH_BENCHMARKS=1"
9896
fi
9997

98+
CMAKE_ARGS="${CMAKE_ARGS} -DWITH_BENCHMARKS=1"
10099
CMAKE_ARGS="${CMAKE_ARGS} -DWITH_TESTS=1 -DWITH_LEGACY_FUSE=1"
101100
CMAKE_ARGS="${CMAKE_ARGS} -DDWARFS_ARTIFACTS_DIR=/artifacts"
102101

.docker/install-static-libs.sh

+10-10
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ BZIP2_VERSION=1.0.8
1212
LIBARCHIVE_VERSION=3.7.2
1313
FLAC_VERSION=1.4.3
1414
LIBUNWIND_VERSION=1.7.2
15-
# BENCHMARK_VERSION=1.8.2
15+
BENCHMARK_VERSION=1.8.3
1616

1717
RETRY=0
1818
while true; do
@@ -32,7 +32,7 @@ wget https://sourceware.org/pub/bzip2/bzip2-${BZIP2_VERSION}.tar.gz
3232
wget https://github.com/libarchive/libarchive/releases/download/v${LIBARCHIVE_VERSION}/libarchive-${LIBARCHIVE_VERSION}.tar.xz
3333
wget https://github.com/xiph/flac/releases/download/${FLAC_VERSION}/flac-${FLAC_VERSION}.tar.xz
3434
wget https://github.com/libunwind/libunwind/releases/download/v${LIBUNWIND_VERSION}/libunwind-${LIBUNWIND_VERSION}.tar.gz
35-
# wget https://github.com/google/benchmark/archive/refs/tags/v${BENCHMARK_VERSION}.tar.gz
35+
wget https://github.com/google/benchmark/archive/refs/tags/v${BENCHMARK_VERSION}.tar.gz
3636

3737
for COMPILER in clang gcc; do
3838
if [[ "$COMPILER" == "clang" ]]; then
@@ -85,14 +85,14 @@ for COMPILER in clang gcc; do
8585
make -j$(nproc)
8686
make install
8787

88-
# cd "$HOME/pkgs"
89-
# tar xf v${BENCHMARK_VERSION}.tar.gz
90-
# cd benchmark-${BENCHMARK_VERSION}
91-
# mkdir build
92-
# cd build
93-
# cmake .. -DBENCHMARK_DOWNLOAD_DEPENDENCIES=1 -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR"
94-
# make -j$(nproc)
95-
# make install
88+
cd "$HOME/pkgs/$COMPILER"
89+
tar xf ../v${BENCHMARK_VERSION}.tar.gz
90+
cd benchmark-${BENCHMARK_VERSION}
91+
mkdir build
92+
cd build
93+
cmake .. -DBENCHMARK_ENABLE_TESTING=OFF -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR"
94+
make -j$(nproc)
95+
make install
9696
done
9797

9898
cd "$HOME"

.github/workflows/build.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
- name: Configure Build
4141
shell: cmd
4242
run: |
43-
cmake -B${{ runner.temp }}\build -S${{ runner.workspace }}\dwarfs -GNinja -DCMAKE_MAKE_PROGRAM=C:\bin\ninja.exe -DCMAKE_BUILD_TYPE=${{ matrix.build_mode }} -DWITH_TESTS=ON -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DVCPKG_INSTALLED_DIR=${{ runner.workspace }}\vcpkg-install-dwarfs -DDWARFS_ARTIFACTS_DIR=Z:\artifacts\dwarfs
43+
cmake -B${{ runner.temp }}\build -S${{ runner.workspace }}\dwarfs -GNinja -DCMAKE_MAKE_PROGRAM=C:\bin\ninja.exe -DCMAKE_BUILD_TYPE=${{ matrix.build_mode }} -DWITH_TESTS=ON -DWITH_BENCHMARKS=ON -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DVCPKG_INSTALLED_DIR=${{ runner.workspace }}\vcpkg-install-dwarfs -DDWARFS_ARTIFACTS_DIR=Z:\artifacts\dwarfs
4444
4545
- name: Run Build
4646
shell: cmd
@@ -120,7 +120,7 @@ jobs:
120120
- name: Configure Rice++ Build
121121
shell: cmd
122122
run: |
123-
cmake -B${{ runner.temp }}\build-ricepp -S${{ runner.workspace }}\dwarfs\ricepp -GNinja -DCMAKE_MAKE_PROGRAM=C:\bin\ninja.exe -DCMAKE_BUILD_TYPE=${{ matrix.build_mode }} -DWITH_TESTS=ON -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DVCPKG_INSTALLED_DIR=${{ runner.workspace }}\vcpkg-install-dwarfs -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl
123+
cmake -B${{ runner.temp }}\build-ricepp -S${{ runner.workspace }}\dwarfs\ricepp -GNinja -DCMAKE_MAKE_PROGRAM=C:\bin\ninja.exe -DCMAKE_BUILD_TYPE=${{ matrix.build_mode }} -DWITH_TESTS=ON -DWITH_BENCHMARKS=ON -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DVCPKG_INSTALLED_DIR=${{ runner.workspace }}\vcpkg-install-dwarfs -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl
124124
125125
- name: Run Build
126126
shell: cmd
@@ -140,7 +140,7 @@ jobs:
140140
- name: Configure Build
141141
shell: cmd
142142
run: |
143-
cmake -B${{ runner.temp }}\build -S${{ runner.workspace }}\dwarfs -GNinja -DCMAKE_MAKE_PROGRAM=C:\bin\ninja.exe -DCMAKE_BUILD_TYPE=${{ matrix.build_mode }} -DWITH_TESTS=ON -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DVCPKG_INSTALLED_DIR=${{ runner.workspace }}\vcpkg-install-dwarfs -DDWARFS_ARTIFACTS_DIR=Z:\artifacts\dwarfs -DCMAKE_PREFIX_PATH=${{ runner.temp }}\ricepp-install -DUSE_RICEPP_PACKAGE=ON
143+
cmake -B${{ runner.temp }}\build -S${{ runner.workspace }}\dwarfs -GNinja -DCMAKE_MAKE_PROGRAM=C:\bin\ninja.exe -DCMAKE_BUILD_TYPE=${{ matrix.build_mode }} -DWITH_TESTS=ON -DWITH_BENCHMARKS=ON -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DVCPKG_INSTALLED_DIR=${{ runner.workspace }}\vcpkg-install-dwarfs -DDWARFS_ARTIFACTS_DIR=Z:\artifacts\dwarfs -DCMAKE_PREFIX_PATH=${{ runner.temp }}\ricepp-install -DUSE_RICEPP_PACKAGE=ON
144144
145145
- name: Run Build
146146
shell: cmd

CMakeLists.txt

+20-11
Original file line numberDiff line numberDiff line change
@@ -766,17 +766,15 @@ if(WITH_TESTS)
766766
endif()
767767

768768
if(WITH_BENCHMARKS)
769-
if(NOT STATIC_BUILD_DO_NOT_USE)
770-
find_package(benchmark 1.8)
771-
if(benchmark_FOUND)
772-
add_executable(dwarfs_benchmark test/dwarfs_benchmark.cpp)
773-
target_link_libraries(dwarfs_benchmark test_helpers benchmark::benchmark)
774-
list(APPEND BINARY_TARGETS dwarfs_benchmark)
775-
776-
add_executable(multiversioning_benchmark test/multiversioning_benchmark.cpp)
777-
target_link_libraries(multiversioning_benchmark test_helpers benchmark::benchmark)
778-
list(APPEND BINARY_TARGETS multiversioning_benchmark)
779-
endif()
769+
find_package(benchmark 1.8)
770+
if(benchmark_FOUND)
771+
add_executable(dwarfs_benchmark test/dwarfs_benchmark.cpp)
772+
target_link_libraries(dwarfs_benchmark test_helpers benchmark::benchmark)
773+
list(APPEND BINARY_TARGETS dwarfs_benchmark)
774+
775+
add_executable(multiversioning_benchmark test/multiversioning_benchmark.cpp)
776+
target_link_libraries(multiversioning_benchmark test_helpers benchmark::benchmark)
777+
list(APPEND BINARY_TARGETS multiversioning_benchmark)
780778
endif()
781779

782780
add_executable(segmenter_benchmark test/segmenter_benchmark.cpp)
@@ -1237,10 +1235,21 @@ if(STATIC_BUILD_DO_NOT_USE OR WIN32)
12371235
"binary_tarball=${CMAKE_PROJECT_NAME}-${DWARFS_ARTIFACT_ID}${PACKAGE_EXT}\n"
12381236
"universal_binary=${UNIVERSAL_PACKED}\n")
12391237

1238+
if(USE_RICEPP_PACKAGE)
1239+
add_executable(ricepp_benchmark_fits ricepp/ricepp_benchmark_fits.cpp)
1240+
target_link_libraries(ricepp_benchmark_fits ricepp benchmark::benchmark)
1241+
set(RICEPP_BENCHMARK_FITS "ricepp_benchmark_fits")
1242+
else()
1243+
set(RICEPP_BENCHMARK_FITS "ricepp/ricepp_benchmark_fits")
1244+
endif()
1245+
12401246
add_custom_target(copy_artifacts
12411247
COMMAND ${CMAKE_COMMAND} -E make_directory ${ARTIFACTS_FULL_PATH}
12421248
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${DWARFS_ARTIFACT_ID}${PACKAGE_EXT} ${ARTIFACTS_FULL_PATH}
12431249
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${UNIVERSAL_PACKED} ${ARTIFACTS_FULL_PATH}
1250+
COMMAND ${CMAKE_COMMAND} -E copy
1251+
${CMAKE_CURRENT_BINARY_DIR}/${RICEPP_BENCHMARK_FITS}${CMAKE_EXECUTABLE_SUFFIX}
1252+
${ARTIFACTS_FULL_PATH}/ricepp_benchmark_fits-${DWARFS_ARTIFACT_ID}${CMAKE_EXECUTABLE_SUFFIX}
12441253
)
12451254

12461255
add_custom_target(copy_source_artifacts

ricepp/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,10 @@ endif()
148148
if(WITH_BENCHMARKS)
149149
find_package(benchmark 1.8)
150150
if(benchmark_FOUND)
151+
if(STATIC_BUILD_DO_NOT_USE)
152+
add_link_options(-static -static-libgcc)
153+
endif()
154+
151155
add_executable(ricepp_benchmark ricepp_benchmark.cpp)
152156
target_link_libraries(ricepp_benchmark ricepp benchmark::benchmark)
153157

0 commit comments

Comments
 (0)