cmake第三方步骤依赖关系

cmake第三方步骤依赖关系,cmake,external-project,Cmake,External Project,我们在源代码中使用供应商代码作为第三方项目。此聚会项目托管在不同的服务器上 我们的应用程序需要包含来自第三方项目的头文件。到目前为止,应用程序cmake依赖于外部项目,在外部项目安装完成之前,应用程序不会开始构建 从逻辑上讲,一旦下载了第三方项目并且头文件可用,应用程序就可以开始构建。 为了达到同样的目的,我可以有一个步骤,这取决于配置/下载 外部项目添加步骤(CopyHeaderFileStep取决于配置) 然而,因为这只是一个步骤,而不是目标,所以我无法在应用程序CMake中指定CopyHe

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

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

从逻辑上讲,一旦下载了第三方项目并且头文件可用,应用程序就可以开始构建。 为了达到同样的目的,我可以有一个步骤,这取决于配置/下载

外部项目添加步骤(CopyHeaderFileStep取决于配置)

然而,因为这只是一个步骤,而不是目标,所以我无法在应用程序CMake中指定CopyHeaderFileStep的依赖性

我彻底查看了cmake第三方文档,但没有任何帮助。这里有出路吗

然而,因为这只是一个步骤,而不是目标,所以我无法在应用程序CMake中指定CopyHeaderFileStep的依赖性

正是出于这个目的,有一个函数
ExternalProject\u Add\u StepTargets
,它为ExternalProject的步骤创建正常的CMake目标。发件人:

ExternalProject\u Add\u StepTargets()
函数为列出的步骤生成目标。每个创建的目标的名称将采用
-
的形式

例如:

# 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)

谢谢有时我们确实会错过显而易见的:)