CMake Debian および Redhat/Arch 固有のインストールディレクトリ

CMake Debian および Redhat/Arch 固有のインストールディレクトリ

systemd *.serviceファイルがあり、CMakeビルドシステムを使用してインストールしたいと思います。

~によると無料デスクトップポリシーDebian はこれを使って In と入力します/lib/systemd/systemRed Hat ポリシーこれらは入ります/usr/lib/systemd/system

これを設定するCMakeの基本的な方法はありますか?

Gnuインストールディレクトリ当然、systemdへのパスを提供しません。

これまで私の解決策は次のとおりです。

option(USE_REDHAT_PATHS "Use Red Hat policy for install-paths" ON)

if ( ${USE_REDHAT_PATHS} )
  set( _SYSTEMD_DIR "/usr/lib/systemd/system" )
else()
  set( _SYSTEMD_DIR "/lib/systemd/system" )
endif()

install(FILES myservice.service DESTINATION ${_SYSTEMD_DIR})

動作しますが、ユーザー側の設定が必要です。 Aが役に立つCMAKE_INSTALL_SYSTEMDかもしれません。CMAKE_REDHAT

ExecuteProcess呼び出しを使用すると役に立ちuname -vますが、すべての可能なアップストリームリリースをサポートしないと、問題が発生する可能性があります。

ベストアンサー1

おすすめ記事