gpt4 book ai didi

c++ - CMake ExternalProject_Add 和并行构建

转载 作者:太空狗 更新时间:2023-10-29 23:14:58 29 4
gpt4 key购买 nike

与以下 CMakeLists.txt构建脚本:

include( ExternalProject )
ExternalProject_Add( framework SOURCE_DIR ${framework_SOURCE}
PREFIX framework_build
INSTALL_DIR ${framework_DISTRIBUTION} )

...

add_library( ${PROJECT_NAME} SHARED ${BUILD_MANIFEST} )
add_dependencies( ${PROJECT_NAME} framework )

当我尝试执行并行构建 (make -j5) 时,由于框架中的构建工件不存在,它偶尔会失败。未遵守由 add_dependencies 修复的构建顺序。

我是不是误解了 documentation围绕 add_dependencies?

cmake --graphviz=graph.dot 的输出

enter image description here

最佳答案

好的,所以 CMake 的更新版本警告我框架依赖项不存在。 ExternalProject_Add 和 add_dependencies 不能相互使用,因为 ExternalProject_Add 尚未实际构建,因此将框架注册为高级目标。

注意:将来遇到此问题的任何人。我找到了另一个 SO post @matiu 解决了我的问题。

关于c++ - CMake ExternalProject_Add 和并行构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31222734/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com