Cmake外部可选包添加

时间:2016-09-30 18:19:16

标签: cmake

我是Cmake的新手并尝试构建一个需要可选包(libspectre)的KDE项目(okular)。我做了一个默认的make install,库文件位于“/ usr / lib / x86_64-linux-gnu”。

在generators / CMakeLists.txt中,我尝试用以下内容替换“macro_optional_find_package(LibSpectre)”:

find_library(LIBSPECTRE_LIBRARY NAMES libspectre PATHS "/usr/lib/x86_64-linux-gnu/")

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LibSpectre DEFAULT_MSG LIBSPECTRE_LIBRARY)

似乎找不到libspectre库。我尝试用HINTS替换PATHS,并在NAMES之后将'libspectre'改为'幽灵'。但它似乎没有认识到。

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

CMake不了解库的 so-version ,它仅检查预先.so扩展名。

您可以创建libspectre.so - 符号链接到libspectre.so.1。所以

find_library(LIBSPECTRE_LIBRARY NAMES spectre PATHS "/usr/lib/x86_64-linux-gnu/")

会奏效。