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] ...
深入了解find_package之后,我们就明白COMPONENTS其实是一个选项,列出来了必选的模块。 一般我们不会在CMakeLists里面硬编码CMAKE_PREFIX_PATH,推荐通过环境变量找到模块。 Qt的模块是放在Qt/5.15.2/clang_64/lib/cmake,所以我们只需要配置 QT_DIR=Qt/5.15.2/clang_64 ...
find_package(BoostREQUIRED COMPONENTS filesystem system) 设置查找路径: set(BOOST_ROOT"/path/to/boost")find_package(BoostREQUIRED) 3.2 配置文件和构建选项 你可以通过 CMake 配置文件来控制构建选项和配置。 配置选项: configure_file(config.h.inconfig.h) ...
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 target_include_directories指令用于为特定目标添加头文件...
3.1.1 使用find_package VS find_library find_package 是CMake 提供的一个强大工具,主要用于在系统中搜索已安装的库并进行配置。相较于 find_library,find_package 拥有更高级的功能,能够自动探测库的路径和链接信息。它通过查找那些配备了配置文件的库——比如 Find<PackageName>.cmake 或<PackageName>Config.c...