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>

指定要使用指向 argcargv 的指標呼叫的函式。函式可能會在 EXTRA_INCLUDE 標頭中提供

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

這可以用於為每個測試新增額外的命令列處理。

此外,一些 CMake 變數會影響測試驅動程式的產生

CMAKE_TESTDRIVER_BEFORE_TESTMAIN

要直接放在呼叫每個測試函式之前的程式碼。

CMAKE_TESTDRIVER_AFTER_TESTMAIN

要直接放在呼叫每個測試函式之後的程式碼。