find_package(CURLREQUIRED)include_directories(${CURL_INCLUDE_DIR})target_link_libraries(curltest ${CURL_LIBRARY}) 那么cmake是如何查找的呢? find_package()命令首先会在模块路径中寻找Find.cmake,这是查找库的一个典型方式。具体查找路径依次为CMake:变量${CMAKE_MODULE_PATH}中的所有目录。如果没有,然后...
find_package将先到 module 路径下查找Find<name>.cmake。首先它搜索${CMAKE_MODULE_PATH}中的所有路径,然后搜索/usr/share/cmake-3.5/Modules.比如find_package(Boost)搜索的文件是/usr/share/cmake-3.5/Modules/FindBoost.cmake 如果在 CMakeLists.txt 中没有下面的指令: 1 set(CMAKE_MODULE_PATH"Findxxx...
用户可以设置CMAKE_FIND_PACKAGE_PREFER_CONFIG变量为TRUE,让CMake优先使用Config模式。 详细的模块查找过程(翻译的官方文档) find_packge完成的参数列表 find_package(<PackageName> [version] [EXACT] [QUIET][REQUIRED] [[COMPONENTS] [components...]][OPTIONAL_COMPONENTS components...][CONFIG|NO_MODULE][NO_...
cmake_minimum_required( VERSION2.8)//版本要求project( imageBasics )//工程名set( CMAKE_CXX_FLAGS "-std=c++11" )//添加c++ 11标准支持find_package( OpenCV3REQUIRED )//寻找OpenCV.CMakeLists,以此找到包,并赋值各库相关变量include_directories( ${OpenCV_INCLUDE_DIRS} )//OpenCV_INCLUDE_DIRS是关于find...
ind_package旨在使用预先设置的配置文件来查找依赖项, 其函数原型为: find_package(PACKAGE_NAME_CASE_SENSITIVE [version] [EXACT] [QUIET] [REQUIRED] [[COMPONENTS] [components...]] [OPTIONAL_COMPONENTS components...] [CONFIG|NO_MODULE] [NO_POLICY_SCOPE] ...
project( imageBasics )//工程名 set( CMAKE_CXX_FLAGS "-std=c++11" )//添加c++ 11标准支持 find_package( OpenCV 3 REQUIRED )//寻找OpenCV.CMakeLists,以此找到包,并赋值各库相关变量 include_directories( ${OpenCV_INCLUDE_DIRS} )//OpenCV_INCLUDE_DIRS是关于find_package的变量, ...
1.6 find_package find_package指令用于查找并加载外部项目或库。 find_package(SomeLibrary REQUIRED) 1.7 include_directories include_directories指令用于添加编译器的头文件搜索路径。 include_directories(${SomeLibrary_INCLUDE_DIRS}) 1.8 target_include_directories ...
深入了解find_package之后,我们就明白COMPONENTS其实是一个选项,列出来了必选的模块。 一般我们不会在CMakeLists里面硬编码CMAKE_PREFIX_PATH,推荐通过环境变量找到模块。 Qt的模块是放在Qt/5.15.2/clang_64/lib/cmake,所以我们只需要配置 QT_DIR=Qt/5.15.2/clang_64 ...
答:得自己写FindXXX.cmake 问:FindXXX.cmake文件放哪里才能让find_package()识别到呢? 答:将写好的FindXXX.cmake放在cmake软件的Modules目录下即可。 问:cmake软件的Modules目录在哪里? 答:如果是linux下通过apt安装的cmake,则Modules目录一般为/usr/share/cmake-3.xx/Modules,如果你的cmake是基于源码编译安...