首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cmake第三方项目步骤

cmake第三方项目步骤
EN

Stack Overflow用户
提问于 2018-09-12 05:56:55
回答 1查看 100关注 0票数 1

我们正在使用供应商代码作为第三方项目在我们的源代码。供应商代码使用Makefile,我们为其为供应商源代码编写了新的CMake add_custom_target。

为了将库从特定于供应商的build/lib dir复制到CMAKE二进制/库dir,我编写了步骤,将所有库复制为

ExternalProject_Add_Step(CopyStep)

但是,我看到,每当我构建时,CopyStep总是被执行。是否只有在库中发生更改时才能控制CopyStep执行(类似于Make,只要没有代码更改,源代码就不会重新生成)。

让我知道,如果有任何其他方式,我可以复制等。

EN

回答 1

Stack Overflow用户

发布于 2018-09-12 07:38:14

要使ExternalProject的步骤仅在某个文件被更改时重新执行,请向其添加依赖选项:

代码语言:javascript
复制
ExternalProject_Add_Step(extLibrary CopyStep
    COMMAND cp <BINARY_DIR>/lib/libext.a <...>
    DEPENDS <BINARY_DIR>/lib/libext.a
    )

或者(例如,如果您不想列出所依赖的所有文件),您可以将该步骤作为构建步骤的一部分。为此,通过添加适当的命令修改ExternalProject_Add

代码语言:javascript
复制
ExternalProject_Add(extLibrary
    ...
    BUILD_COMMAND make # Need to explicitely specify build command.
    COMMAND cp -r <BINARY_DIR>/lib <...> # Additional action for the build step
    )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52288341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档