Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake 如何在副产品文件上为ExternalProject mkdir步骤添加依赖项?_Cmake - Fatal编程技术网

Cmake 如何在副产品文件上为ExternalProject mkdir步骤添加依赖项?

Cmake 如何在副产品文件上为ExternalProject mkdir步骤添加依赖项?,cmake,Cmake,我在()之前为配置步骤问了这个问题 不幸的是,我得到的答案不适用于“mkdir”步骤: ExternalProject_Add_StepDependencies( gitache_package_libcwd_r download "/opt/gitache/libcwd_r/gitache-lock" ) 工作正常,但是当我使用内部()步骤“mkdir”时: ExternalProject_Add_StepDependencies( gitache_package_libcwd_

我在()之前为配置步骤问了这个问题

不幸的是,我得到的答案不适用于“mkdir”步骤:

ExternalProject_Add_StepDependencies(
  gitache_package_libcwd_r
  download "/opt/gitache/libcwd_r/gitache-lock"
)
工作正常,但是当我使用内部()步骤“mkdir”时:

ExternalProject_Add_StepDependencies(
  gitache_package_libcwd_r
  mkdir "/opt/gitache/libcwd_r/gitache-lock"
)
我得到一个错误:

CMake Error at /usr/share/cmake-3.16/Modules/ExternalProject.cmake:2273 (message):
  External project "gitache_package_libcwd_r" does not have a step "mkdir".

我怎样才能做到这一点呢?

我上周偶然发现了同样的问题。经过一段时间的挖掘,我在ExternalProject.cmake模块中发现了一个bug,并提交了一个pull请求


您可以修补该模块的本地版本,直到它在上游得到修复(更新,修复已包含在3.18.0版中)

干得好!然而,我完全放弃了使用ExternalProject——它对我来说不够好。此外,我需要在配置时工作,而不是在构建时工作:p(对于我的项目)。@CarloWood实际上我使用了一种超级构建模式,发现这种方法非常有效。在这种情况下,一切都在配置之前完成。请查看下面的链接,希望您能发现它们也很有用: