cmake第三方步骤依赖

时间:2018-09-17 11:45:54

标签: cmake external-project

我们在源代码中将供应商代码用作第三方项目。这个聚会项目托管在不同的服务器上。

我们的应用程序需要包含第三方项目的头文件。到目前为止,应用程序cmake依赖于外部项目,直到完成外部项目安装,应用程序才会开始构建。

从逻辑上讲,一旦下载了第三方项目并且头文件可用,应用程序就可以开始构建。 要达到相同的目的,我可以采取依赖于configure / download的步骤

  

ExternalProject_Add_Step(CopyHeaderFileStep DEPENDS配置)

但是,由于这只是一个步骤而不是目标,因此我无法在应用程序CMake中指定CopyHeaderFileStep的依赖项。

我完全查看了cmake第三方文档,但没有帮助。这里有什么出路吗?

1 个答案:

答案 0 :(得分:1)

  

但是,由于这只是一个步骤,而不是目标,因此我无法在应用程序CMake中指定CopyHeaderFileStep的依赖项。

正是出于这个目的,有一个函数ExternalProject_Add_StepTargets,该函数为ExternalProject的步骤创建常规的CMake目标。来自documentation

  

ExternalProject_Add_StepTargets()函数为列出的步骤生成目标。每个创建的目标的名称将采用<name>-<step>的形式。

示例:

# Create targets for steps
ExternalProject_Add_StepTargets(extProject # External project name
    CopyHeaderFileStep # List of steps, for which targets will be created
)

# Depend on these targets in outer code
add_dependencies(myApp extProject-CopyHeaderFileStep)