Я использую проект, который имеет следующие зависимости:
grp c
В то же время у моего проекта есть эталонные тесты.
Когда я объявляю следующие зависимости, используя FetchContent
, я получаю следующую ошибку:
add_library cannot create target "benchmark" because another target
with the same name already exists. The existing target is an executable
created in source directory
My CMakeLists.txt
is:
cmake_minimum_required(VERSION 3.15)
project(dahj)
set(CMAKE_CXX_STANDARD 14)
include(FetchContent)
FetchContent_Declare(
grpc
GIT_REPOSITORY https://github.com/grpc/grpc.git
GIT_TAG v1.17.2
)
FetchContent_MakeAvailable(grpc)
FetchContent_Declare(
benchmark
GIT_REPOSITORY https://github.com/google/benchmark.git
GIT_TAG v1.5.0
)
FetchContent_MakeAvailable(benchmark)
add_executable(dahj main.cpp grpc++)
Я знаю, что могу использовать бенчмарк, не извлекая его, а просто связывая его. Но если grpc
решит снять тестирование в качестве зависимости, это испортит мою сборку. Есть ли лучший способ сделать это?