【问题标题】:Cmake : Dependency to run if there's any changeCmake :如果有任何更改,则运行依赖项
【发布时间】:2021-05-04 22:44:06
【问题描述】:

我是 Cmake 新手,我有一个名为 TARGET 的主输出。我正在尝试将名为_COPY_ASSETS_TARGET 的自定义目标添加为主要TARGET 的依赖项。如果_COPY_ASSETS_TARGET 有任何变化,我希望TARGET 自动重建_COPY_ASSETS_TARGET_COPY_ASSETS_TARGET 应该取决于文件夹的变化。

这是我尝试实现的代码:

 if (NOT TARGET ${_COPY_ASSETS_TARGET})
            add_custom_target(${_COPY_ASSETS_TARGET})
            add_dependencies(${_ARGS_PROJECT_TARGET} ${_COPY_ASSETS_TARGET})
            set_property(TARGET ${_COPY_ASSETS_TARGET} PROPERTY FOLDER "Targets")
        endif()

        add_custom_command(TARGET ${_COPY_ASSETS_TARGET}
            ${_COMMANDS}
            VERBATIM
        )

我正在尝试使用 Visual Studio 进行调试,如果我重建 _COPY_ASSETS_TARGET,那么只有我可以看到更新后的输出。我想知道如何将我的文件夹链接到_COPY_ASSETS_TARGET,以便TARGET 自动构建新代码

【问题讨论】:

  • 请提供 MRE。

标签: visual-studio cmake cmake-gui


【解决方案1】:
add_custom_command(OUTPUT ${OUTPUT_DIRECTORY} ${_COMMANDS}
            DEPENDS ${DEPENDENT_DIRECTORY}
            VERBATIM
        )

        add_custom_target(${_COPY_ASSETS_TARGET} ALL 
            DEPENDS ${OUTPUT_DIRECTORY}
        )

        add_dependencies(${_ARGS_PROJECT_TARGET} ${_COPY_ASSETS_TARGET})
        set_property(TARGET ${_COPY_ASSETS_TARGET} PROPERTY FOLDER "Targets")

我发现这对我的项目有用

【讨论】:

    猜你喜欢
    • 2021-09-29
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    相关资源
    最近更新 更多