systemd *.serviceファイルがあり、CMakeビルドシステムを使用してインストールしたいと思います。
~によると無料デスクトップポリシーDebian はこれを使って In と入力します/lib/systemd/system
。Red 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
ますが、すべての可能なアップストリームリリースをサポートしないと、問題が発生する可能性があります。