2

私は CMake に非常に慣れていないため、インストール ルールの設定に問題があります。で次のコマンドを実行しますmake install

update-rc.d solshare_stats_runscript defaults

ただし、次の場合にのみこのコマンドを実行します。

CMAKE_INSTALL_PREFIX="/"

これどうやってするの?

4

1 に答える 1

5

おそらくこれを行うinstall(SCRIPT ...)には、呼び出す微量の CMake スクリプトを使用して提供します。

これを CMakeLists.txt に追加します。

install(SCRIPT InstallScript.cmake)

次に、InstallScript.cmake で:

if("${CMAKE_INSTALL_PREFIX}" STREQUAL "/")
  execute_process(COMMAND update-rc.d solshare_stats_runscript defaults
                  RESULT_VARIABLE Result
                  OUTPUT_VARIABLE Output
                  ERROR_VARIABLE Error)
  if(Result EQUAL 0)
    message(STATUS "Ran update-rc.d as CMAKE_INSTALL_PREFIX == \"/\"")
  else()
    message(FATAL_ERROR "Result - ${Result}\nOutput - ${Output}\nError - Error")
  endif()
else()
  message(STATUS "Not running update-rc.d as CMAKE_INSTALL_PREFIX != \"/\"")
endif()

execute_processスクリプト内の呼び出しにさらに引数を指定する必要がある場合があります (例: WORKING_DIRECTORY)。

于 2013-06-30T12:01:48.450 に答える