次の点を考慮してください。
SET(TEST_DIR, "test")
INSTALL(PROGRAMS scripts/foo.py DESTINATION ${TEST_DIR})
INSTALL(PROGRAMS scripts/foo.py DESTINATION @TEST_DIR@)
最初のINSTALL
コマンドは機能しません。2番目はそうです。何故ですか?これら2つの違いは何ですか?@@
構成ファイルの作成のコンテキストを除いて、展開への言及は見つかりませんでした。それ以外はすべて${}
展開のみを使用します。
更新: OK、上記の明らかなバグです。コマンドに余分SET()
なコンマがあります。それを削除すると、次のようになります。
SET(TEST_DIR "test")
@@
と${}
展開の両方が機能します。(a) とは@@
対照的にの意味は何なのか${}
、なぜ前者だけが私の誤ったSET()
ステートメントで機能したのか疑問に思っています。