C++ cmake安装不会触发自定义命令

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_命令生成一些输出文件:

    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})