我正在制作一个需要以奇特的方式打包的库,作为其中的一部分,我有一个包含这些行的脚本:
#only install the lib component, nd put in the a special directory
ADD_CUSTOM_TARGET(o_destdir_install
COMMAND DESTDIR=${CMAKE_BINARY_DIR}/o_package ${CMAKE_COMMAND} -DCOMPONENT=lib -P cmake_install.cmake
DEPENDS ${CMAKE_BINARY_DIR}/cmake_install.cmake
COMMENT "Building o_package directory with DESTDIR"
)
ADD_DEPENDENCIES(o_destdir_install all preinstall)
我从旧的UseDebian.cmake dpkg构建器中找到了此代码,但它在运行安装之前并未构建所有和预安装。使我的目标依赖于非内置目标似乎有效,但我不能依赖它看起来的任何内置目标。我怎样才能让它发挥作用?
如果我可以依赖单个组件安装,最好不要使用cmake的黑客调用,这样会很好,但不管怎样,我都很好
答案 0 :(得分:0)
您应该使用install(CODE)
表单捎带现有的安装目标,而不是将自己的安装目标整合在一起:
install(CODE "execute_process(COMMAND DESTDIR=${CMAKE_BINARY_DIR}/o_package ${CMAKE_COMMAND} -DCOMPONENT=lib -P cmake_install.cmake")
答案 1 :(得分:-3)
您可以使用ALL
关键字依赖“所有”目标。请参阅documentation。