这里简单说明一下,FIND_PATH 用来在指定路径中搜索文件名,比如: FIND_PATH(myHeader NAMES hello.h PATHS /usr/include /usr/include/hello)这里我们没有指定路径,但是,cmake 仍然可以帮我们找到 hello.h 存放的路径,就是因为我们设置了环境变量CMAKE_INCLUDE_PATH。 如果你不使用FIND_PATH,CMAKE_INCLUDE_PATH变...
当然QT 也可能被安装在其它路径,把/usr/替换为/usr/local/或/opt/Qt等,需要指定相应的搜索路径。 基本用法 库的导入 以下列出了常见的用法,以 OpenCV 为例: find_package(OpenCV) find_package(OpenCV REQUIRED) find_package(OpenCV MODULE REQUIRED) # 指定Module模式 find_package(OpenCV CONFIG REQUIRED) # ...
(4) FIND_PROGRAM(<VAR> name1 path1 path2 …) VAR变量代表包含这个程序的全路径。 (5)FIND_PACKAGE(<name> [major.minor] [QUIET] [NO_MODULE] [[REQUIRED|COMPONENTS] [componets …]]) 用来有调用预定义在CAMEK_MODULE_PATH下的FIND<name>.cmake模块,你也可以自己定义FInd<name>模块,通过SET(CMAK...
该默认规则可以通过设置CMAKE_FIND_ROOT_PATH_MODE_LIBRARY做出调整。在每次调用该命令之前,都可以通过设置这个变量来手动覆盖默认行为。如果使用了NO_CMAKE_FIND_ROOT_PATH变量,那么只有重定位的路径会被搜索。 默认的搜索顺序的设计逻辑是按照使用时从最具体到最不具体。通过多次以NO_*选项调用find_program命令,可以...
CMAKE_SYSTEM_PROGRAM_PATH CMAKE_SYSTEM_APPBUNDLE_PATH 6、搜索PATHS选项或者精简版命令指定的路径。这些通常是硬编码的推荐搜索路径。 在Darwin或者支持OS X 框架的系统上,cmake变量CMAKE_FIND_FRAMEWORK可以设置为空,或者下述值之一: "FIRST" - 在标准库或头文件之前查找框架。在Darwin系统上这是默认选项。
target_link_libraries(myprogram path/curl.so) 1. 2. 3. 那么cmake是怎么查找的呢? find_package()命令首先会在模块路径中寻找Find.cmake,这是查找库的一个典型方式。具体查找路径依次为CMake:变量${CMAKE_MODULE_PATH}中的所有目录。如果没有,然后在查看它自己的模块目录/share/cmake-x.y/Modules/($C...
message(FATAL_ERROR "myprogram not found") endif()在这个案例中,假设我们的项目想要运行名为myprogram的可执行程序。通过find_program(MYPROGRAM_EXECUTABLE myprogram)命令,CMake会尝试在系统的默认可执行程序搜索路径中找到名为myprogram的可执行程序。如果...
我们知道cmake提供了FindHDF5.cmake(位置:$cmake_root/Modules)模块用于搜索HDF5组件。 通过查看FindHDF5.cmake的源码可以知道,可以通过定义HDF5_ROOT环境变量,来指定要使用的HDF5位置。 HDF5_ROOT是个很有用的参数,当系统安装了HDF5(/usr下),而自己又编译一个版本(比如在/home下),如果想使用自己编译的版本,就可...
find_file来查找一个指定文件的完整路径 find_library来查找一个库 find_package来查找并加载来自外部项目的设置 find_path来查找包含指定文件的目录 find_program来查找一个程序 你可以使用--help-command命令行开关来打印任何 CMake 内置命令的文档到屏幕上。