首页 > 解决方案 > CMake:在高级应用程序构建之前未安装外部项目

问题描述

我添加了一个子目录并配置外部项目如下:

ExternalProject_Add(example-sdk-project
                SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/example-sdk
                CONFIGURE_COMMAND cmake ${CMAKE_CURRENT_SOURCE_DIR}/example-sdk
                BUILD_IN_SOURCE 0
                BUILD_COMMAND $(MAKE)
                INSTALL_COMMAND $(MAKE) install
)
ADD_LIBRARY(example-sdk STATIC IMPORTED GLOBAL)
ADD_DEPENDENCIES(example-sdk example-sdk-project)
SET_TARGET_PROPERTIES(ossexamplesdk PROPERTIES
                IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/libexample-sdk.a
                INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include
)

然后我在我的主项目中依赖这个库,方法是:

target_link_libraries(main example-sdk)

但是当我开始构建主项目时,Make找不到应该在项目编译example-sdk之前安装的头文件。main

我该怎么做才能解决这个问题,谢谢。

标签: c++cmake

解决方案


推荐阅读