通常,开放源码包将有cmake来检查是否存在某些头或库,我希望我自己的项目具有同样的功能。
因此,我想知道cmake是否提供了一些命令来检查当前linux系统中是否存在".so"/".a"/".h“文件,如果没有,cmake会给我一些安装它们的提示吗?
cmake如何支持这一点?
发布于 2019-02-06 02:28:04
通常,人们会使用find_package(ABC REQUIRED),然后在项目中引用它。这将确保安装了依赖库,否则cmake将失败。
您可以在cmake安装中找到很多示例,例如,C:\Program Files\CMake\share\cmake-3.13\Modules\FindZLIB.cmake将搜索zlib库,方法是在文件系统中查找安装该库的正常位置,如果找到这些变量,它将相应地设置这些变量:
# ZLIB_INCLUDE_DIRS - where to find zlib.h, etc.
# ZLIB_LIBRARIES - List of libraries when using zlib.
# ZLIB_FOUND - True if zlib found.要实现这个目标,可以使用cmake命令find_path找到头文件,并使用find_library找到库(静态库和共享库)。
发布于 2019-02-06 07:24:16
发布于 2019-02-06 11:40:15
您需要提供-config.cmake文件来告诉其他项目库和标头在哪里。这里,你会发现你在找什么。
https://stackoverflow.com/questions/54545465
复制相似问题