0
テストCMakeLists.txtに呼び出します: "cmakeの"ネストされた関数は、CMakeの(別の引数として1の結果を使用)
function(foo param)
return("hello")
endfunction()
message(foo("oops"))
上記のファイルで実行されると、 "foo(oops)"が表示されます。私はそれが "こんにちは"を印刷することを期待しました。
CMakeで、ある関数が別の関数の結果を受け取るようにするにはどうすればよいですか?
CMakeでは "return(x)"とは何ですか?ただxを無視する?そのように見えますが、ドキュメントはこれを言っていません。また、関数foo()が値を返さないだけでなく、私の例でも呼び出されていないことに驚いています! –
ドキュメントは構文を 'return()'としているので、 'return(x)'は未定義の振る舞いになるでしょう。私も、fooがこの例では呼び出されていないことに驚くことはありません。シェルスクリプトに 'ls'が実行されないことに驚かされるべきではない' echo ls'を置くようなものです。 –