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

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