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¶
要直接放在呼叫每個測試函式之後的程式碼。