Cmake 两个子项目A和B,A依赖于B并检查B中存在的特征
我正在尝试创建一个CMake项目,该项目集成了两个子项目,具体来说是和。rnpgp的构建系统基于CMake,botan使用Python配置脚本生成生成文件。 问题在于,在CMake运行期间,rnpgp检查botan中的功能,因此需要编译的botan库。但是,直到我真正调用Cmake 两个子项目A和B,A依赖于B并检查B中存在的特征,cmake,dependencies,botan,Cmake,Dependencies,Botan,我正在尝试创建一个CMake项目,该项目集成了两个子项目,具体来说是和。rnpgp的构建系统基于CMake,botan使用Python配置脚本生成生成文件。 问题在于,在CMake运行期间,rnpgp检查botan中的功能,因此需要编译的botan库。但是,直到我真正调用make,botan才开始构建,我不能这样做,因为rnpgp无法配置,因为botan尚未构建 在CMake中指定这种依赖关系的正确方法是什么?您可以在CMake配置阶段使用CMake运行botan Python脚本并运行make
make
,botan才开始构建,我不能这样做,因为rnpgp无法配置,因为botan尚未构建
在CMake中指定这种依赖关系的正确方法是什么?您可以在CMake配置阶段使用CMake运行botan Python脚本并运行make
。这样,在运行mpgp CMake时,将构建botan库并可供参考:
# Run the Python script to configure the botan Makefile.
execute_process(COMMAND
python ${CMAKE_SOURCE_DIR}/botan/configure.py
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
)
# Run 'make' from the botan directory where the 'Makefile' was created.
execute_process(COMMAND
make
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/botan/build"
)
这是一个粗略的例子,它可能看起来像什么。您可能需要稍微修改路径,以匹配系统上安装botan的位置,以及botan生成构建工件的位置(即生成文件的位置)。您是否有一些代码可以共享并告诉我们问题出在哪里?我主要想做的是在未安装botan的系统上基于cmake构建rnpgp。就这样。