如何在 cmake 中定义从使用 ExternalProject_add 构建的目标派生的变量?

How to define variable derived from a target built with ExternalProject_add in cmake?

您可以获得 属性 使用 ExternalProject_add 构建的 CMake 目标,方法如下:

ExternalProject_Get_property(zipper SOURCE_DIR)
message("Source dir of myExtProj = ${SOURCE_DIR}")

我如何将其保存到另一个变量,即不是 SOURCE_DIR

如果你可以使用 ${SOURCE_DIR} 打印它的值,你可以使用它设置另一个变量,使用 set() 命令:

ExternalProject_Get_property(zipper SOURCE_DIR)
message("Source dir of myExtProj = ${SOURCE_DIR}")

# Set the variable zipper_SOURCE_DIR.
set(zipper_SOURCE_DIR ${SOURCE_DIR})