我正在CMake中嘗試CTest,以便使用make testtarget 自動運行某些測試。問題是CMake不能“理解”必須構建的測試,因為它是項目的一部分。因此,我正在尋找一種明確指定此依賴性的方法。
3 回答

當年話下
TA貢獻1890條經驗 獲得超9個贊
可以說這是CMake的一個錯誤(以前在這里跟蹤),它無法立即使用。解決方法是執行以下操作:
add_test(TestName ExeName)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}
DEPENDS ExeName)
然后可以運行make check,它將編譯并運行測試。如果您有多個測試,則必須DEPENDS exe1 exe2 exe3 ...在上一行中使用。

紫衣仙女
TA貢獻1839條經驗 獲得超15個贊
實際上有一種使用方法make test。您需要將測試可執行文件的構建定義為測試之一,然后在測試之間添加依賴項。那是:
ADD_TEST(ctest_build_test_code
"${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target test_code)
ADD_TEST(ctest_run_test_code test_code)
SET_TESTS_PROPERTIES(ctest_run_test_code
PROPERTIES DEPENDS ctest_build_test_code)
- 3 回答
- 0 關注
- 1484 瀏覽
添加回答
舉報
0/150
提交
取消