我对CMake非常陌生,并且无法设置安装规则。
我想在make install
中运行以下命令:
update-rc.d solshare_stats_runscript defaults
但我只想在以下情况下运行此命令:
CMAKE_INSTALL_PREFIX="/"
我该怎么做?
答案 0 :(得分: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
)。