在CMake中,是否可以构建从构建树导入的依赖项?

时间:2013-02-14 14:06:19

标签: cmake build-process build-automation

我正在尝试使用CMake功能从构建树导出/导入目标(请参阅this wiki page)。我有这个dependency库:

add_library(dependency SHARED dependency.cpp)
export(TARGETS dependency FILE dependency-targets.cmake)

可执行文件在另一个项目中使用此库:

include(${DEPENDENCY_PATH}/dependency-targets.cmake)

add_executable(main-app main.cpp)
target_link_libraries(main-app dependency)

这很好用。虽然我确实知道这个导出/导入机制“仅”提供了引用外部二进制文件的便捷方式,但我想知道在dependency中运行make时是否可以编译main-app?要么使用导入机制(我怀疑)还是使用另一个机制?

1 个答案:

答案 0 :(得分:1)

您可以查看“superbuild”模式和ExternalProject

这个想法的要点是你设置了一个只使用ExternalProject_Add()命令的“superbuild”项目;这将设置您的真实项目及其所有依赖项。