C++ cmake安装不会触发自定义命令
在我的项目中,我使用add_custom_命令生成一些输出文件:C++ cmake安装不会触发自定义命令,c++,c,cmake,C++,C,Cmake,在我的项目中,我使用add_custom_命令生成一些输出文件: add_custom_command( OUTPUT ${LIB_NAME} # commands ) add_custom_target(Core-static DEPENDS ${LIB_NAME}) 然后,我得到了安装库的说明: install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}" DESTIN
add_custom_command(
OUTPUT ${LIB_NAME}
# commands
)
add_custom_target(Core-static DEPENDS ${LIB_NAME})
然后,我得到了安装库的说明:
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}"
DESTINATION "${CORE_INSTALL_DIR}/lib/"
)
当我手动构建核心静态目标时,我可以成功地运行安装。但是,运行install不会触发自定义命令,并且不会生成库,从而导致错误。另外,由于某些原因,重建解决方案(在Visual Studio中)不会触发核心静态项目生成。在CMake中,仅安装触发器所有(伪)目标 为了使您的文件可安装,您需要强制所有目标生成您的文件。当前,您的自定义目标
核心静态在默认情况下不是由所有目标生成的。要解决此问题,请在创建目标时添加ALL
关键字:
add_custom_target(Core-static ALL DEPENDS ${LIB_NAME})