设置查询路径 让find_package在指定路径找依赖包,有三种方式 # 1. 设置DIRset(Torch_DIR /home/libtorch) find_package(Torch REQUIRED)# 2. 设置PATHSfind_package(Protobuf REQUIRED PATHS /home/libtorch NO_DEFAULT_PATH)# 3. 指定set(CMAKE_PREFIX_PATH /home/libtorch)...
如果在CMakeLists中没有下面的指令,那么cmake就不会搜索xxx_DIR指定的路径.而是到/usr/local/lib/cmake/xxx/中搜索,比如/usr/local/lib/cmake/yaml-cpp/yaml-cpp-config.cmake,如果还没有就失败了。 find_package(OpenCV REQUIRED PATHS /usr/local/share/OpenCV NO_DEFAULT_PATH) c. pkg_check_module 编...
而且除上述指定路径外,cmake还会直接进入<package>_DIR下寻找。如我在3rd_parties目录下编译了一个OpenCV,那么执行cmake时可以使用 OpenCV_DIR=../../3rd-party/opencv-3.3.4/build/ cmake .. 这样做以后,cmake会优先从该目录寻找OpenCV。 配置好编译好了以后,我感兴趣的是另一个问题: 我现在编译出了可执行...
通过设定一个project_DIR变量来指定路径,该路径是projectConfig.cmake文件所在的路径,比如下载预编译好的llvm。 set(LLVM_DIR yourpath/llvm-7.0/lib/cmake/llvm) find_package(LLVM CONFIG REQUIRED) 1. 2.
如果find_package命令中指定了具体的版本,也会搜索<lowercasePackageName>-config-version.cmake或<PackageName>ConfigVersion.cmake文件,因此配置模式下通常会提供配置文件和版本文件(注意形式上要保持一致),并且作为包的一部分一起提供给使用者。 该模式下对.cmake文件的搜索路径的顺序比较复杂,具体见本文的4.1节。
我正在使用通过 Homebrew 在 Mac 上安装的较新版本的 openssl,并且想知道是否有办法为 CMAKE 的 FIND_PACKAGE 函数设置启动路径?现在,当我尝试使用 FIND_PACKAGE 时,CMAKE 会发现我的操作系统使用的旧版本的 openssl。我目前在我的 CMakeLists.txt 中使用它 SET(OPENSSL_LIB_DIR /usr/local/Cellar/openssl/1.0...
C语⾔中find_package()的搜索路径的实现 ⽬录 find_package()Module模式 Config模式 find_package(OpenCV REQUIRED) 如何设置查找路径/指定只⽤版本 find_package()内部⽤find_path()和find_library()实现的找头⽂件路径和动态共享库⽂件 ⾸先明确,find_package()肯定需要个.cmake⽂件,不然它根本...
CMake 会优先搜索 CMAKE_MODULE_PATH 指定的路径,然后搜索自己自带的 Modules 路径。所以一般来说,最常用就是在自己工程的 CMakeLists.txt 文件中更改 CMAKE_MODULE_PATH 这个变量值,或者把包含 Findxxx.cmake 文件的路径附加到这个变量中。之后就可以使用 find_package() 查找到对应的库。两种方式对应如下代码:...
find_package()命令首先会在模块路径中寻找Find.cmake,这是查找库的一个典型方式。具体查找路径依次为CMake:变量${CMAKE_MODULE_PATH}中的所有目录。如果没有,然后再查看它自己的模块目录/share/cmake-x.y/Modules/($CMAKE_ROOT的具体值可以通过CMake中message命令输出)。这称为模块模式。