CMake Debian 및 Redhat/Arch 특정 설치 디렉터리

CMake Debian 및 Redhat/Arch 특정 설치 디렉터리

systemd *.service 파일이 있고 CMake 빌드 시스템을 사용하여 설치하고 싶습니다.

~에 따르면무료 데스크탑 정책데비안은 이를 사용하여 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도움이 될 수 있지만 가능한 모든 업스트림 릴리스를 지원하지 않으면 문제가 발생할 수 있는 경우가 많습니다.

관련 정보