[build] Re-add benchmark tests to the buildsystem
Probably lost on the cmake migration
This commit is contained in:
committed by
Thiago Marcos P. Santos
parent
dd604a7b36
commit
5829c0dbc6
@@ -45,6 +45,7 @@ before_script:
|
||||
- cmake --version
|
||||
script:
|
||||
- make linux
|
||||
- make benchmark
|
||||
- make test
|
||||
- make run-test
|
||||
after_script:
|
||||
|
||||
@@ -59,6 +59,11 @@ if(COMMAND mbgl_platform_test)
|
||||
include(cmake/test.cmake)
|
||||
endif()
|
||||
|
||||
if(COMMAND mbgl_platform_benchmark)
|
||||
include(cmake/benchmark-files.cmake)
|
||||
include(cmake/benchmark.cmake)
|
||||
endif()
|
||||
|
||||
if(COMMAND mbgl_platform_glfw)
|
||||
include(cmake/glfw.cmake)
|
||||
endif()
|
||||
|
||||
10
Makefile
10
Makefile
@@ -285,6 +285,10 @@ linux: glfw-app render offline
|
||||
test: $(LINUX_BUILD)
|
||||
$(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(LINUX_OUTPUT_PATH) mbgl-test
|
||||
|
||||
.PHONY: benchmark
|
||||
benchmark: $(LINUX_BUILD)
|
||||
$(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(LINUX_OUTPUT_PATH) mbgl-benchmark
|
||||
|
||||
ifneq (,$(shell which gdb))
|
||||
GDB = gdb -batch -return-child-result -ex 'set print thread-events off' -ex 'run' -ex 'thread apply all bt' --args
|
||||
endif
|
||||
@@ -295,6 +299,12 @@ run-test: run-test-*
|
||||
run-test-%: test
|
||||
$(GDB) $(LINUX_OUTPUT_PATH)/mbgl-test --gtest_catch_exceptions=0 --gtest_filter=$*
|
||||
|
||||
.PHONY: run-benchmark
|
||||
run-benchmark: run-benchmark-.
|
||||
|
||||
run-benchmark-%: benchmark
|
||||
$(GDB) $(LINUX_OUTPUT_PATH)/mbgl-benchmark --benchmark_filter=$*
|
||||
|
||||
.PHONY: render
|
||||
render: $(LINUX_BUILD)
|
||||
$(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(LINUX_OUTPUT_PATH) mbgl-render
|
||||
|
||||
15
cmake/benchmark-files.cmake
Normal file
15
cmake/benchmark-files.cmake
Normal file
@@ -0,0 +1,15 @@
|
||||
# Do not edit. Regenerate this with ./scripts/generate-benchmark-files.sh
|
||||
|
||||
set(MBGL_BENCHMARK_FILES
|
||||
# include/mbgl
|
||||
benchmark/include/mbgl/benchmark.hpp
|
||||
|
||||
# parse
|
||||
benchmark/parse/filter.benchmark.cpp
|
||||
|
||||
# src
|
||||
benchmark/src/main.cpp
|
||||
|
||||
# src/mbgl/benchmark
|
||||
benchmark/src/mbgl/benchmark/benchmark.cpp
|
||||
)
|
||||
32
cmake/benchmark.cmake
Normal file
32
cmake/benchmark.cmake
Normal file
@@ -0,0 +1,32 @@
|
||||
add_executable(mbgl-benchmark
|
||||
${MBGL_BENCHMARK_FILES}
|
||||
)
|
||||
|
||||
target_compile_options(mbgl-benchmark
|
||||
PRIVATE -fvisibility-inlines-hidden
|
||||
)
|
||||
|
||||
target_include_directories(mbgl-benchmark
|
||||
PRIVATE include
|
||||
PRIVATE src # TODO: eliminate
|
||||
PRIVATE benchmark/include
|
||||
PRIVATE benchmark/src
|
||||
PRIVATE platform/default
|
||||
)
|
||||
|
||||
if(DEFINED ENV{CI})
|
||||
target_compile_definitions(mbgl-benchmark
|
||||
PRIVATE -DCI_BUILD=1
|
||||
)
|
||||
endif()
|
||||
|
||||
target_link_libraries(mbgl-benchmark
|
||||
PRIVATE mbgl-core
|
||||
)
|
||||
|
||||
target_add_mason_package(mbgl-benchmark PRIVATE benchmark)
|
||||
target_add_mason_package(mbgl-benchmark PRIVATE rapidjson)
|
||||
|
||||
mbgl_platform_benchmark()
|
||||
|
||||
create_source_groups(mbgl-benchmark)
|
||||
@@ -7,6 +7,7 @@ mason_use(libpng VERSION 1.6.25)
|
||||
mason_use(libjpeg-turbo VERSION 1.5.0)
|
||||
mason_use(webp VERSION 0.5.1)
|
||||
mason_use(gtest VERSION 1.7.0${MASON_CXXABI_SUFFIX})
|
||||
mason_use(benchmark VERSION 1.0.0)
|
||||
|
||||
include(cmake/loop-uv.cmake)
|
||||
|
||||
@@ -102,6 +103,23 @@ macro(mbgl_platform_test)
|
||||
endmacro()
|
||||
|
||||
|
||||
macro(mbgl_platform_benchmark)
|
||||
target_sources(mbgl-benchmark
|
||||
PRIVATE benchmark/src/main.cpp
|
||||
)
|
||||
|
||||
set_source_files_properties(
|
||||
benchmark/src/main.cpp
|
||||
PROPERTIES
|
||||
COMPILE_FLAGS -DWORK_DIRECTORY="${CMAKE_SOURCE_DIR}"
|
||||
)
|
||||
|
||||
target_link_libraries(mbgl-benchmark
|
||||
PRIVATE mbgl-loop
|
||||
)
|
||||
endmacro()
|
||||
|
||||
|
||||
macro(mbgl_platform_node)
|
||||
# Enabling node module by defining this macro
|
||||
endmacro()
|
||||
|
||||
20
scripts/generate-benchmark-files.sh
Executable file
20
scripts/generate-benchmark-files.sh
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
echo "# Do not edit. Regenerate this with ./scripts/generate-benchmark-files.sh" > cmake/benchmark-files.cmake
|
||||
echo "" >> cmake/benchmark-files.cmake
|
||||
echo "set(MBGL_BENCHMARK_FILES" >> cmake/benchmark-files.cmake
|
||||
PREFIX=
|
||||
for FILE in $(git ls-files "benchmark/*.hpp" "benchmark/*.cpp" "benchmark/*.h" "benchmark/*.c" | sort) ; do
|
||||
CURRENT_PREFIX=$(dirname ${FILE#benchmark/})
|
||||
if [ "${PREFIX}" != "${CURRENT_PREFIX}" ]; then
|
||||
if [ ! -z "${PREFIX}" ]; then echo "" >> cmake/benchmark-files.cmake ; fi
|
||||
echo " # ${CURRENT_PREFIX}" >> cmake/benchmark-files.cmake
|
||||
PREFIX="${CURRENT_PREFIX}"
|
||||
fi
|
||||
echo " ${FILE}" >> cmake/benchmark-files.cmake
|
||||
done
|
||||
echo ")" >> cmake/benchmark-files.cmake
|
||||
git diff cmake/benchmark-files.cmake
|
||||
Reference in New Issue
Block a user