12

KDE で Python ファイルをコンパイルしてインストールするようにマクロを調整しましたが、ファイルのアクセス許可を維持するのに問題があります。

より明確にするために、マクロの問題のある行は次のとおりです。

install(FILES ${SOURCE_FILE} DESTINATION ${DESTINATION_DIR})

これは 99% のケースで機能します。

あるケースでは、ソース ディレクトリに実行可能 (+x、ここでは Linux について話している) としてマークされた Python ファイルがあり、インストールのバイナリ ディレクトリにシンボリック リンクされています。install() は権限を保持しないため、実行ビットが削除され、後であらゆる種類の問題が発生します。

ファイルのアクセス許可を保持すること、またはそれらを読み取り、それに応じて設定することは可能ですか? 移植性がないため、手動chmodコマンドを使用するのは嫌いです。

編集: このマクロによってインストールされたすべてのファイルを実行可能にしたくありません。これは無意味です。

4

1 に答える 1

24

+xを使用して許可を得てファイルをインストールできます

install(PROGRAMS ...

指図。

または、ファイルのパーミッションを保持してディレクトリ全体をインストールすることもできます。

install(DIRECTORIES ... USE_SOURCE_PERMISSIONS)

詳細については、インストール コマンドのドキュメントを参照してください。

于 2012-12-30T09:21:01.887 に答える