CMakeLists.txt 886 Bytes
# To build these benchmarks, build the target "ScudoBenchmarks.$ARCH", where
# $ARCH is the name of the target architecture. For example,
# ScudoBenchmarks.x86_64 for 64-bit x86. The benchmark executable is then
# available under projects/compiler-rt/lib/scudo/standalone/benchmarks/ in the
# build directory.

include(AddLLVM)

set(SCUDO_BENCHMARK_CFLAGS -I${COMPILER_RT_SOURCE_DIR}/lib/scudo/standalone)
if(ANDROID)
  list(APPEND SCUDO_BENCHMARK_CFLAGS -fno-emulated-tls)
endif()
string(REPLACE ";" " " SCUDO_BENCHMARK_CFLAGS " ${SCUDO_BENCHMARK_CFLAGS}")

foreach(arch ${SCUDO_STANDALONE_SUPPORTED_ARCH})
  add_benchmark(ScudoBenchmarks.${arch}
                malloc_benchmark.cpp
                $<TARGET_OBJECTS:RTScudoStandalone.${arch}>)
  set_property(TARGET ScudoBenchmarks.${arch} APPEND_STRING PROPERTY
               COMPILE_FLAGS "${SCUDO_BENCHMARK_CFLAGS}")
endforeach()