【发布时间】:2017-04-03 13:38:00
【问题描述】:
我正在将库从手写的 Makefile 改写为使用 cmake。我陷入了需要从库 B 到库 A 的地步。
我可以使用 find_package 找到库,但是当它们被链接时,cmake 抱怨没有构建 .so 文件的规则,因为它是在 build 目录而不是安装目录。
如果我查看包含此硬编码路径的 /usr/lib/cmake/library/libraryConfigVersion.cmake 文件,就会对此进行解释。该文件是通过以下步骤创建的:
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/libraryConfigVersion.cmake"
VERSION ${LIBRARY_VERSION}
COMPATIBILITY AnyNewerVersion
)
export(EXPORT libraryTargets
FILE "${CMAKE_CURRENT_BINARY_DIR}/library/libraryConfigVersion.cmake"
NAMESPACE library::
)
(我已将我的库名称替换为“库”)。如何让 cmake 编写正确的路径,以便我可以轻松地从其他 cmake 项目链接到我的库?
【问题讨论】:
标签: cmake