Cmake и GTest на windows. Не получается подключить библиотеки

Пытаюсь запустить простой пример с googletest взятый по ссылке https://github.com/kaizouman/gtest-cmake-example GTest подключается как внешний проект через ExternalProject_Add. Те не менее у меня CMake не может найти библиотеку libgtest.a.

C:\Users\avili\Documents\OTUS CPP\googletest_example\out\build\x64-Debug (default)\ninja : error : 'test/gtest/src/gtest-build/lib/libgtest.a', needed by 'test/testfoo/testfoo.exe', missing and no known rule to make it

CMakelist.txt, который подключает GTest, выглядит так(ошибка на строке 23):

find_package(Threads REQUIRED)
 
# Enable ExternalProject CMake module
include(ExternalProject)
 
# Download and install GoogleTest
ExternalProject_Add(
    gtest
    URL https://github.com/google/googletest/archive/master.zip
    PREFIX ${CMAKE_CURRENT_BINARY_DIR}/gtest
    # Disable install step
    INSTALL_COMMAND ""
)
 
# Get GTest source and binary directories from CMake project
ExternalProject_Get_Property(gtest source_dir binary_dir)
 
# Create a libgtest target to be used as a dependency by test programs
add_library(libgtest IMPORTED STATIC GLOBAL)
add_dependencies(libgtest gtest)
 
# Set libgtest properties
set_target_properties(libgtest PROPERTIES
    "IMPORTED_LOCATION" "${binary_dir}/googlemock/gtest/libgtest.a"
    "IMPORTED_LINK_INTERFACE_LIBRARIES" "${CMAKE_THREAD_LIBS_INIT}"
)
 
# Create a libgmock target to be used as a dependency by test programs
add_library(libgmock IMPORTED STATIC GLOBAL)
add_dependencies(libgmock gtest)
 
# Set libgmock properties
set_target_properties(libgmock PROPERTIES
    "IMPORTED_LOCATION" "${binary_dir}/googlemock/libgmock.a"
    "IMPORTED_LINK_INTERFACE_LIBRARIES" "${CMAKE_THREAD_LIBS_INIT}"
)
 
# I couldn't make it work with INTERFACE_INCLUDE_DIRECTORIES
include_directories("${source_dir}/googletest/include"
                    "${source_dir}/googlemock/include")
 
add_subdirectory(testfoo)

Я предполагаю, что путь к библиотеке может меняться в зависимости от платформы. Но не могу понять как мне её подключить.


Ответы (0 шт):