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¶
在调用每个测试函数之后直接放置的代码。