プロローグ:私はあなたがディレクトリをインストールする際にcmakeのは、元のファイルのパーミッションを維持させるにはどうすればよいのドキュメントcmakeの "install directory"ディレクティブでファイルパーミッションを保持するには?
cmakeの-2.8.10.2
でこれを欠落しているため馬鹿ですか?手元にあるプロジェクトでは、ソースツリーからインストールツリーにいくつかのディレクトリをコピーすることが基本です。
実行可能なスクリプトが不正なファイルアクセス許可でコピーされていることを除いて、すべて正常に動作します。実際には、はありません。元のファイルのアクセス許可のは保持されます。 FILE_PERMISSIONSとDIRECTORY_PERMISSIONSを使用してグローバルに権限を設定することは、私がやりたいことではなく、率直に言って、このコンテキストではハックになります。シェルスクリプトの世界で
、私はこのような単純な何かをしたい:
install(
DIRECTORY config runp
DESTINATION ${CMAKE_INSTALL_PREFIX}
USE_SOURCE_PERMISSIONS
PATTERN ".svn" EXCLUDE
PATTERN ".git" EXCLUDE
PATTERN "start_collection.snl" EXCLUDE
)
を
また、あなたがのinstall(PROGRAMS
署名を使用することができます。
for i in config runp ; do
tar cf - $i | tar -C $CMAKE_INSTALL_PREFIX -xf -
done
まあ、私はばかです。私は何とかドキュメントのそのオプションのすぐ上に光沢をつけた。それを指摘してくれてありがとう。 – smcdow
ありがとうございます。 'USE_SOURCE_PERMISSIONS'は' install(DIRECTORY) 'でしか動作しないことに言及したいと思います。答えからすぐには分かりませんでした。 – congusbongus