Spec-Zone.ru › CMake 3.5

FindGTest

Расположение Google C++ Testing Framework.

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

Этот модуль определяет следующие 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 эта переменная может быть установлена в MD или MT (по умолчанию), чтобы включить поиск дерева сборки 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 , чтобы найти их из целевого исполняемого файла

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

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

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.5/module/FindGTest.html

Spec-Zone.ru

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