通过查看FindHDF5.cmake的源码可以知道,可以通过定义HDF5_ROOT环境变量,来指定要使用的HDF5位置。 HDF5_ROOT是个很有用的参数,当系统安装了HDF5(/usr下),而自己又编译一个版本(比如在/home下),如果想使用自己编译的版本,就可以通过这个参数来实现,避免在执行find_package(HDF5)时cmake自做聪明的找到系统安装的版本。
或者通过设定CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY为true。 从PATHS字段指定的路径中查找。 再次总结思路: 判断find_package()实际执行的是module模式还是config模式 1.1 find_package(<PackageName>)这样的用法并不能看出是module模式还是config模式。要看CMAKE_MODULE_PATH或cmake安装路径下是否有Find<Package...
可以看到在执行find_package(OpenCV 3 REQUIRED)命令后,CMake找到了我们安装的位于/usr/local下的OpenCV库,并设置了CMake变量OpenCV_DIR为OpenCV库的配置文件所在路径,正是通过载入这个路径下的OpenCVConfig.cmake配置文件才能配置好OpenCV库,然后在OpenCVConfig.cmake配置文件中定义了变量OpenCV_INCLUDE_DIRS为OpenCV库头...
用find_package引入外部依赖包 对于find_package找不到的外部依赖库,可以用add_library添加 SHARED表示添加的是动态库 IMPORTED表示是引入已经存在的动态库 指定所添加依赖库的导入路径 添加头文件路径到编译器的头文件搜索路径下,多个路径以空格分隔 添加一个可执行目标,名称可自己指定,本例是直接用工程名称命名的 该...
一个简单原则,在哪里ADD_EXECUTABLE或者ADD_LIBRARY,如果需要改变目标存放路径,就在哪里加上上述的定义。在这个例子中,则是src下的CMakeLists.txt。 4、如何安装 安装有两种方式:一是从代码编译后直接make install安装,一种是打包时的指定目录安装。 makefile的写法如下: DESTDIR= install: mkdir -p $(DESTDIR)...
cmake [选项] <现有构建路径> 描述 cmake可执行程序是CMake的命令行界面。它可以用脚本对工程进行配置。工程配置设置可以在命令行中使用-D选项指定。使用-i选项,cmake将通过提示交互式地完成该设置。 CMake是一个跨平台的构建系统生成工具。它使用平台无关的CMake清单文件CMakeLists.txt,指定工程的构建过程;源码...
https://blog.csdn.net/haluoluo211/article/details/80559341 本文主要内容如下: 1. cmake find_package的基本原理 2...使用cmake find_package 使用不同版本的opencv lib问题(opencv 安装在指定的目录...
find_package()命令可用于搜索包配置文件。该命令构造一组安装前缀,并在几个位置的每个前缀下进行搜索。给定名称Foo,它将查找名为FooConfig的文件。cmake或foo-config.cmake。find_package()命令文档中指定了完整的位置集。它看起来的一个地方是: <prefix>/lib/cmake/Foo*/其中Foo*是不区分大小写的通配符表达式...
FIND_PACKAGE( name ): 在指定的模块目录中搜索一个名为Find<name>.cmake(例如,FindOSG.cmake)的CMake脚本模块文件,执行其中的内容,以图搜索到指定的外部依赖库头文件和库文件位置。 FIND_PATH( ${var} NAMES name1 [name2 …] PATHS path1 [path2 …] ...