设置查询路径 让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.txt中添加 # 将项目目录下的cmake文件夹加入到CMAKE_MODULE_PATH中,让find_pakcage能够找到我们自定义的函数库set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH}")add_executable(addtest addtest.cc)find_package(ADD)if(ADD_FOUND)target_include_directories(addtest ...
CMAKE_INSTALL_PREFIX变量指定的路径(如果有)。 可以通过设置CMAKE_MODULE_PATH变量来添加自定义的查找路径。例如: set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") 这将把cmake目录添加到模块查找路径中,以便CMake可以在该目录下查找自定义的cmake模块文件。
然后在 CMakeLists.txt 文件的最前方写一行: set(CMAKE_MODULE_PATH “${CMAKE_CURRENT_LIST_DIR}/cmake;${CMAKE_MODULE_PATH}”) 这样做之后, find_package(XXX) 就会用你下载的这个 FindXXX.cmake 去找包了。 现代vs 古代:用法上完全不同! OpenCVConfig.cmake(现代) FindCURL.cmake(古代)zhuanlan....
You can either set OPENSSL_ROOT_DIR cmake variable or OPENSSL_ROOT_DIR env variable to the following path: /usr/local/Cellar/openssl/* and then use find_package .例子: set(OPENSSL_ROOT_DIR /usr/local/Cellar/openssl/*) find_package(OpenSSL REQUIRED) include_directories(${OPENSSL_INCLUDE_DIR...
首先在变量CMAKE_MODULE_PATH对应的路径中去查找 如果该变量为空或者在该路径下没有找到,则进入cmake的安装目录下查找(比如我这里是/usr/share/cmake_3.17/Module)。 如果以上两个路径下没有找到指定包,则根据命令的MODULE参数设置与否决定是否进入CONFIG模式下继续查找。
# 设置寻找路径set(CMAKE_PREFIX_PATH /path/to/search1 /path/to/search2)# 查找名为"example"的包find_package(example REQUIRED)# 使用包中的配置脚本include_directories(${example_INCLUDE_DIRS})add_executable(my_app main.cpp)target_link_libraries(my_app ${example_LIBRARIES}) ...
其中CMAKE_MODULE_PATH 默认为空,可以利用 set 命令赋值。 在安装 CMake 时,CMake 为我们提供了很多开发库的 FindXXX.cmake 模块文件,可以通过命令查询: cmake --help-module-list | grep -E ^Find 1. 3.2 Config模式 略 四、命令使用 为了能够帮助大家理解 find_package 命令的用法,此处首先用 OpenCV 库...
set(OpenCV_ROOT "/usr/lib/opencv_249/build") #可在⼦⽬录查找 #为了在这⾥查找.cmake⽂件 set(OpenCV_DIR "/usr/lib/opencv_300/build") #弱智,不能在⼦⽬录查找 find_package(OpenCV REQUIRED NO_MODULE # tells CMake to use config mode NO_DEFAULT_PATH) # and don't look o...
set(${name}_LIBRARIES "${${name}_LIBRARIES}" PARENT_SCOPE) endif() endfunction() 函数有点长,不过可以看出来,核心查找功能的实现是通过调用find_library()来查找库文件;分别找debug和release的库,然后用select_library_configurations来自动修正/设定如下4个变量: ...