Spec-Zone.ru › CMake 3.31

create_test_sourcelist

Создать программу-драйвер для тестирования, которая связывает множество небольших тестов в один исполняемый файл. Это полезно при создании статических исполняемых файлов с большими библиотеками, чтобы уменьшить общий размер.

create_test_sourcelist(<sourceListName> <driverName> <test>... <options>...)

Генерировать файл исходного кода драйвера для тестирования из списка отдельных исходных файлов тестов и предоставлять объединённый список исходных файлов, которые можно скомпилировать в исполняемый файл.

Доступные параметры:

<sourceListName>

Имя переменной, в которой будет храниться список исходных файлов, необходимых для компиляции драйвера для тестирования. Список будет содержать <test>... исходные файлы и сгенерированный <driverName> файл исходного кода.

Изменено в версии 3.29: Исходный код драйвера для тестирования указан в полном пути в дереве сборки. Ранее он указывался только как <driverName>.

<driverName>

Имя файла исходного кода драйвера для тестирования, который будет сгенерирован в дереве сборки. Файл исходного кода будет содержать точку входа в программу main() , которая перенаправляет выполнение на тот тест, который указан в командной строке.

<test>...

Исходные файлы тестов, которые нужно добавить в двоичный файл драйвера. Каждый исходный файл теста должен содержать функцию с тем же именем, что и файл без расширения. Например, исходный файл теста foo.cxx может содержать:

int foo(int argc, char** argv)
EXTRA_INCLUDE <header>

Указать заголовочный файл для #include в сгенерированном исходном коде драйвера для тестирования.

FUNCTION <function>

Указать функцию, которая будет вызываться с указателями на argc и argv. Функция может быть предоставлена в заголовочном файле EXTRA_INCLUDE:

void function(int* pargc, char*** pargv)

Это можно использовать для добавления дополнительной обработки командной строки для каждого теста.

Кроме того, некоторые переменные CMake влияют на генерацию драйвера для тестирования:

CMAKE_TESTDRIVER_BEFORE_TESTMAIN

Код, который будет размещён непосредственно перед вызовом функции каждого теста.

CMAKE_TESTDRIVER_AFTER_TESTMAIN

Код, который будет размещён непосредственно после вызова функции каждого теста.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/command/create_test_sourcelist.html

Spec-Zone.ru

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