我正在尝试使用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
?要么使用导入机制(我怀疑)还是使用另一个机制?
答案 0 :(得分:1)
您可以查看“superbuild”模式和ExternalProject。
这个想法的要点是你设置了一个只使用ExternalProject_Add()
命令的“superbuild”项目;这将设置您的真实项目及其所有依赖项。