我想知道是否可以在没有任何魔术的情况下在一个超级项目中构建两个子项目,其中一个需要安装另一个子项目的文件?
例如:project A
需要来自file B
的{{1}},它是在安装过程中生成的。这两个项目都是以cmake为基础的。
真实示例:我尝试与project B
一起构建kcoreaddons
(两者都可用here)。 extra-cmake-modules
需要在安装步骤kcoreaddons
生成的cmake文件。
有可能吗?有什么方法吗?
修改
让我简化它,直截了当:
我的项目(让我们称之为extra-cmake-modules
)需要project X
,需要先安装才能使用。
我已project A
添加了project A
,ExternalProject_Add
下载,配置,构建和安装步骤project X
。问题是当我在一个新的干净的构建目录中运行project A
时,cmake
的查找脚本无法找到它。显而易见的project A
将在project X
的构建步骤中构建和安装。因此,如果我为project A
选择project X
,则会安装project A
,下次为cmake
运行project X
时,会找到project A
。< / p>