【发布时间】:2017-11-29 05:02:35
【问题描述】:
我正在尝试从 CMake 项目中导出库。在内部,我已将此库分解为多个子目标。我现在只想导出完整的公共图书馆,而不需要我的私人图书馆二进制文件。以下不起作用。
cmake_minimum_required(VERSION 3.2)
project(export-mwe)
add_library(priv priv.cpp)
add_library(exp-lib exp-lib.cpp)
target_link_libraries(exp-lib PRIVATE priv)
install(TARGETS exp-lib EXPORT export-mwe DESTINATION lib)
install(EXPORT export-mwe DESTINATION .)
当我尝试生成这个项目时,我得到了一个错误。
CMake Error: install(EXPORT "export-mwe" ...) includes target "exp-lib" which requires target "priv" that is not in the export set.
如何在这个例子中只导出exp-lib,而不用导出priv?
【问题讨论】:
-
无法导出依赖项不足的库接口。您将不得不编写一个包配置文件。参见 cmake-buildsystem(7) 和 cmake-packages(7)。
标签: cmake