有没有办法告诉CMake生成几个安装规则?
问题描述:
以CMake生成GNU/Makefile为例,我希望能够运行不同的安装规则,比如make install
和make install-doc
。有没有办法告诉CMake生成几个安装规则?
有没有办法告诉CMake生成这个?
答
您可以添加一个自定义目标,它在最外层的二进制目录中调用cmake_install.cmake
脚本。当您运行默认的install
目标时,也会调用此脚本。
add_custom_target(install-doc
COMMAND "${CMAKE_COMMAND}" "-DBUILD_TYPE=$<CONFIGURATION>"
"-DCOMPONENT=doc" "-P" "${CMAKE_BINARY_DIR}/cmake_install.cmake"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}")
所需的安装组件必须作为CMake变量COMPONENT
传递。构建配置可以通过变量BUILD_TYPE
进行设置。 $<CONFIGURATION>
是一个generator expression,它将被当前活动的构建配置取代。
谢谢您的详细解答。使用单独的'make install-doc'的想法是让文档没有安装常规的'make install'。这可以解决你的问题吗? – Samuel 2013-04-04 09:33:05