2017-05-16 33 views
0

我有一個包含這個函數的定義和調用CTestList.cmake文件:在CTest中,爲什麼我的函數的變量參數未設置?

function(add_test_r testname) 
    add_test(
    ${testname} python executeRegressionTestCase.py ${testname} 
) 
endfunction(add_test_r) 

add_test_r(Test01) 

我需要通過CMake的支持測試直接,cmake ..; make test,並通過無需先運行CMake的CTEST。當CMake構建test目標並且我運行make test時,上面的函數執行得很好。但是,當我用CTest運行相同的文件時,${testname}是空的。在使用CTest運行時CTestList中是否不支持函數變量,或者是否有我缺少的東西?

回答

0

我沒有明確的答案,但經過一些測試後,它看起來像CMake爲輸入文件執行預處理步驟。具體來說,它讀入CTestList.cmake,評估變量和函數,並生成一個「擴展的」CTestTestfile.cmake。使用指導腳本運行CTest不會執行預處理步驟,因此變量和函數不會展開。互聯網上的一些人提出,在腳本腳本中使用的CTestTestfile.cmake應該首先由CMake生成。不幸的是,那不是我正在尋找的用例,但它可能會幫助其他人解決這個問題。

相關問題