2017-05-16 9 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、およびCTESTを介して第1 CMakeのを実行せずに。 CMakeがtestターゲットをビルドし、make testを実行すると、上記の関数は正常に実行されます。しかし、CTestで同じファイルを実行すると、${testname}は空です。 CTestで動作しているときに関数の変数がCTestListでサポートされていないのですか?

答えて

0

確定的な回答はありませんが、テストの後ではCMakeが入力ファイルの前処理ステップを実行するように見えます。具体的には、CTestList.cmakeを読み込み、変数と関数を評価し、展開されたCTestTestfile.cmakeを生成します。ステアリングスクリプトでCTestを実行しても前処理ステップは実行されないので、変数と関数は展開されません。インターネット上の何人かの人々は、ステアリングスクリプトで使用されるCTestTestfile.cmakeが最初にCMakeによって生成されるべきだと提案しました。残念ながら、これは私が探しているユースケースではありませんが、他の人がこの問題にぶつかるのを助けるかもしれません。

関連する問題