【问题标题】:In CMake, is it possible to build a dependency imported from a build tree?在 CMake 中,是否可以构建从构建树导入的依赖项?
【发布时间】:2013-01-30 08:40:11
【问题描述】:

我正在尝试使用 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)

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

【问题讨论】:

    标签: cmake build-process build-automation


    【解决方案1】:

    您可以查看“超级构建”模式和ExternalProject

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

    【讨论】:

    • 实际上,ExternalProject 似乎只是第一次构建依赖;如果某些依赖项发生变化,我仍然需要找出如何自动重建依赖项......知道吗?谢谢,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 2021-08-17
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多