我对CMake非常陌生,并且无法设置安装规则.我想在以下命令中运行以下命令make install
:
update-rc.d solshare_stats_runscript defaults
Run Code Online (Sandbox Code Playgroud)
但是我只想在以下情况下运行此命令:
CMAKE_INSTALL_PREFIX="/"
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
您可以使用install(SCRIPT ...)
并提供要调用的wee CMake脚本.
所以将它添加到您的CMakeLists.txt:
install(SCRIPT InstallScript.cmake)
Run Code Online (Sandbox Code Playgroud)
然后在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()
Run Code Online (Sandbox Code Playgroud)
您可能需要execute_process
在脚本中为调用提供更多参数(例如WORKING_DIRECTORY
).
归档时间: |
|
查看次数: |
2978 次 |
最近记录: |