我有一个项目A,它导出一个静态库作为目标:
install(TARGETS alib DESTINATION lib EXPORT project_a-targets)
install(EXPORT project_a-targets DESTINATION lib/alib)
现在我想使用项目A作为项目B的外部项目,并包括它的构建目标:
ExternalProject_Add(project_a
URL ...project_a.tar.gz
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/project_a
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
)
include(${CMAKE_CURRENT_BINARY_DIR}/lib/project_a/project_a-targets.cmake)
问题是在运行项目B的CMakeLists时,包含文件还不存在。
有没有办法让include依赖于正在构建的外部项目?
更新:我基于这个和我遇到的其他常见问题写了一个简短的CMake by Example tutorial。
https://stackoverflow.com/questions/15175318
复制相似问题