Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Commit

Permalink
[core] Vendor libbenchmark
Browse files Browse the repository at this point in the history
Prebuilt binaries for libbenchmark might be incompatible with some
environments, for example, when mbgl-benchmark target is compiled
on host with GCC and linked against mason's clang 5.0 compiled binaries.
Vendored libbenchmark avoids aforementioned issue, as the target and
the binary compiled with same compiler / options.
  • Loading branch information
alexshalamov committed Nov 7, 2018
1 parent f560b4f commit 8bbf4cc
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 4 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,6 @@
[submodule "vendor/boost"]
path = vendor/boost
url = https://github.com/mapbox/mapbox-gl-native-boost.git
[submodule "vendor/benchmark"]
path = vendor/benchmark
url = https://github.com/google/benchmark.git
3 changes: 1 addition & 2 deletions cmake/benchmark.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@ target_include_directories(mbgl-benchmark

target_link_libraries(mbgl-benchmark
PRIVATE mbgl-core
PRIVATE benchmark
)

target_add_mason_package(mbgl-benchmark PRIVATE benchmark)

mbgl_platform_benchmark()

create_source_groups(mbgl-benchmark)
Expand Down
2 changes: 0 additions & 2 deletions cmake/mason-dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,13 @@ elseif(MBGL_PLATFORM STREQUAL "linux")
mason_use(libuv VERSION 1.9.1)
mason_use(libpng VERSION 1.6.25)
mason_use(libjpeg-turbo VERSION 1.5.0)
mason_use(benchmark VERSION 1.4.1${MASON_CXXABI_SUFFIX})
mason_use(args VERSION 6.2.0 HEADER_ONLY)

if(WITH_EGL)
mason_use(swiftshader VERSION 2018-05-31)
endif()
elseif(MBGL_PLATFORM STREQUAL "macos")
mason_use(glfw VERSION 2018-06-27-0be4f3f)
mason_use(benchmark VERSION 1.4.1)
mason_use(args VERSION 6.2.0 HEADER_ONLY)

if(WITH_EGL)
Expand Down
1 change: 1 addition & 0 deletions cmake/vendor.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ execute_process(
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/vendor
)

include(${CMAKE_SOURCE_DIR}/vendor/benchmark.cmake)
include(${CMAKE_SOURCE_DIR}/vendor/boost.cmake)
include(${CMAKE_SOURCE_DIR}/vendor/earcut.hpp.cmake)
include(${CMAKE_SOURCE_DIR}/vendor/expected.cmake)
Expand Down
1 change: 1 addition & 0 deletions vendor/benchmark
Submodule benchmark added at e776aa
25 changes: 25 additions & 0 deletions vendor/benchmark.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
add_library(benchmark STATIC
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/commandlineflags.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/console_reporter.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/complexity.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/csv_reporter.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/colorprint.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/sleep.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/benchmark.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/counter.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/benchmark_register.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/statistics.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/json_reporter.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/reporter.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/string_util.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/sysinfo.cc
${CMAKE_SOURCE_DIR}/vendor/benchmark/src/timers.cc
)

target_compile_definitions(benchmark PRIVATE
HAVE_STEADY_CLOCK
)

target_include_directories(benchmark SYSTEM PUBLIC
${CMAKE_SOURCE_DIR}/vendor/benchmark/include
)

0 comments on commit 8bbf4cc

Please sign in to comment.