首页 > 解决方案 > 有没有办法在构建主项目之前构建外部 CMake 项目?

问题描述

我在 macOS 上有两个 CMake 项目——主项目和一个外部库。这两个项目都克隆在我的机器上。我想将外部库作为依赖项添加到主项目。我还想让主项目构建外部库。CMake有可能吗?

PS我找到的所有示例都是先下载外部库。

编辑:

ExternalProject_Add(<lib_name>
                    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/<rel_path_to_src>
                    BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/<rel_path_to_build_dir>
                    BUILD_ALWAYS ON)

这是我的ExternalProject_Add。但我不确定如何正确链接库,以便可以在主项目之前构建它。

我试图链接如下:

find_library( LIB <lib_name> HINTS ${CMAKE_CURRENT_SOURCE_DIR}/<rel_path_to_lib_dir>)
target_link_libraries( ${PROJECT_NAME} PRIVATE ${LIB} )

我收到以下错误:

ninja: error: '<path_to_lib>/lib.a', needed by '<executable>', missing and no known rule to make it

标签: macoscmakebuild

解决方案


推荐阅读