我有一个顶级的CMakeLists.txt文件,它构建了一个名为Camellia的库,并在链接到Camellia的子目录中有几个可执行文件。我想在Camellia/TPL/Xdmf下添加一个名为XDMF的第三方库作为Camellia的依赖项。幸运的是,XDMF已经在CMake构建系统上,但是当我使用
add_subdirectory(TPL/Xdmf)然后
add_library(Camellia ${LIB_SOURCES} ${HEADERS})它在build/TPL/Xdmf/bin目录中构建Camellia,而不是在没有add_subdirectory(TPL/Xdmf)的情况下构建。为什么添加子目录会更改Camellia的build目录,以及如何修复它?另外,如何确保Camellia与Xdmf相链接?
发布于 2014-06-05 17:40:54
我认为ExternalProject_Add(...)就是你想要的。
请参阅CMake: How to build external projects and include their targets,其中描述了类似的问题。
https://stackoverflow.com/questions/24046261
复制相似问题