Spec-Zone.ru › CMake 3.8

FindGTest

Расположение фреймворка Google C++ для тестирования.

Импортированные цели

Этот модуль определяет следующие IMPORTED цели:

GTest::GTest
Библиотека Google Test gtest , если найдена; автоматически добавляет Thread::Thread
GTest::Main
Библиотека Google Test gtest_main , если найдена

Переменные результатов

Этот модуль установит следующие переменные в вашем проекте:

GTEST_FOUND
Фреймворк Google Testing найден
GTEST_INCLUDE_DIRS
Директория, содержащая заголовки Google Test

Переменные библиотек ниже устанавливаются как обычные переменные. Они содержат ключевые слова debug/optimized, когда обнаружена отладочная библиотека.

GTEST_LIBRARIES
Библиотека Google Test gtest ; обратите внимание, что она также требует линковки с соответствующей библиотекой потоков
GTEST_MAIN_LIBRARIES
Библиотека Google Test gtest_main
GTEST_BOTH_LIBRARIES
И gtest , и gtest_main

Переменные кэша

Также могут быть установлены следующие переменные кэша:

GTEST_ROOT
Корневая директория установки Google Test (также может быть установлена как переменная окружения)
GTEST_MSVC_SEARCH
При компиляции с MSVC эта переменная может быть установлена в MT или MD (по умолчанию) для включения поиска в дереве сборки GTest

Пример использования

enable_testing()
find_package(GTest REQUIRED)

add_executable(foo foo.cc)
target_link_libraries(foo GTest::GTest GTest::Main)

add_test(AllTestsInFoo foo)

Более глубокая интеграция с CTest

Если вы хотите, чтобы каждый тест Google отображался в CTest как тест, вы можете использовать следующую макрокоманду:

GTEST_ADD_TESTS(executable extra_args files...)
executable
Путь к исполняемому файлу теста
extra_args
Список дополнительных аргументов, которые необходимо передать исполняемому файлу, заключенные в кавычки (или "" для отсутствия)
files...
Список исходных файлов для поиска тестов и фикстур тестов. Или AUTO для их поиска по целевому исполняемому файлу

Однако обратите внимание, что эта макрокоманда замедлит ваши тесты, выполняя исполняемый файл для каждого теста и фикстуры теста.

Пример использования:

set(FooTestArgs --foo 1 --bar 2)
add_executable(FooTest FooUnitTest.cc)
GTEST_ADD_TESTS(FooTest "${FooTestArgs}" AUTO)

© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.8/module/FindGTest.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API