Как построить и связать Google бенчмарк, используя cmake в Windows - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь построить google-benchmark и использовать его с моей библиотекой, используя cmake.Мне удалось построить google-benchmark и успешно запустить все его тесты с помощью cmake.К сожалению, я не могу связать его должным образом с моим кодом C ++ в Windows, используя cmake или cl.

. Проблема, которую я считаю, состоит в том, что google-benchmark создает библиотеку внутри папки src, то есть она встроена в src / Release/benchmark.lib теперь я не могу указать на него в cmake, если я использую $ {benchmark_LIBRARIES}, он ищет библиотеку в папке Release вне src, поскольку это обычное место, где собираются все библиотеки.и трудно найти примеры, которые работают в Windows.

Вот два способа, которые я попробовал, оба могут собрать библиотеку и запустить все тесты, но я не могу указать на библиотеку на target_link_library правильно

include(ExternalProject)
ExternalProject_Add(googlebenchmark
  GIT_REPOSITORY    https://github.com/google/benchmark.git
  GIT_TAG           master
  SOURCE_DIR        "${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-src"
  BINARY_DIR        "${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-build"
  CONFIGURE_COMMAND ${CMAKE_COMMAND} -B ${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-build -S ${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-src -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON
  BUILD_COMMAND     ${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-build --config Release 
  INSTALL_COMMAND   ""
  TEST_COMMAND      ${CMAKE_CTEST_COMMAND} ${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-src ${CMAKE_CURRENT_BINARY_DIR}/googlebenchmark-build --build-config Release 
)

и

ExternalProject_Add(googlebenchmark
  GIT_REPOSITORY    https://github.com/google/benchmark.git
  GIT_TAG           master 
  PREFIX            googlebenchmark
  CMAKE_ARGS        -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON
  BUILD_COMMAND     ${CMAKE_COMMAND} --build . --config Release
  INSTALL_COMMAND   ""
  TEST_COMMAND      ${CMAKE_CTEST_COMMAND} --build-config Release
)

как мне связать его с моим файлом c ++ try.cpp после этого

...