find_package(GFlags PATHS /workspace/xxx/gflags-2.2.2/out/lib/cmake/gflags REQUIRED NO_DEFAULT_PATH) 如果安装的第三方库使用源码编译安装,并且作者没有编写.cmake文件供find_package使用。这时可以使用file GLOB去寻找指定目录下的so或者.a文件。 b. 通过file glob方式查找 set(MEDIAFLOW_WORKSPACE /home/xx...
使用CMake 自带的CMAKE_PREFIX_PATH变量,该变量用于指定查找包的路径。你可以在项目的 CMakeLists.txt 文件中添加如下代码来设置路径: set(CMAKE_PREFIX_PATH"/path/to/package") 这里的 “/path/to/package” 是你想要查找包的路径。 使用find_package命令时,可以使用HINTS参数来指定查找包的路径。例如: find_...
find_package中首先查找cmake自带的package,搜索路径为 path_to_your_cmake/share/cmake-<version>/Modules 自己编译的package,要通过find_package找到,要设置头文件和库目录,在Windows下 SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "E:/works/websocketcpp/openssl-build/bin/x64/openssl/include") SET(C...
# 在指定目录下寻找头文件和动态库文件的位置,可以指定多个目标路径find_path(ADD_INCLUDE_DIR libadd.h /usr/include/ /usr/local/include${CMAKE_SOURCE_DIR}/ModuleMode)find_library(ADD_LIBRARYNAMES add PATHS /usr/lib/add /usr/local/lib/add${CMAKE_SOURCE_DIR}/ModuleMode)if(ADD_INCLUDE_DIRANDAD...
在这个例子中,CMake会在指定的/path/to/package路径下查找PackageName的配置文件。 使用CMAKE_PREFIX_PATH cmake set(CMAKE_PREFIX_PATH "/path/to/package") find_package(PackageName REQUIRED) 通过设置CMAKE_PREFIX_PATH变量,CMake会在构建过程中自动将这个路径添加到其搜索路径列表中。 3. 示例 假设你正在...
在MODULE模式下,cmake通过查找名为Find<PackageName>.cmake的文件来查找包。 首先在变量CMAKE_MODULE_PATH对应的路径中去查找 如果该变量为空或者在该路径下没有找到,则进入cmake的安装目录下查找(比如我这里是/usr/share/cmake_3.17/Module)。 如果以上两个路径下没有找到指定包,则根据命令的MODULE参数设置与否...
其中CMAKE_MODULE_PATH 默认为空,可以利用 set 命令赋值。 在安装 CMake 时,CMake 为我们提供了很多开发库的 FindXXX.cmake 模块文件,可以通过命令查询: cmake --help-module-list | grep -E ^Find 1. 3.2 Config模式 略 四、命令使用 为了能够帮助大家理解 find_package 命令的用法,此处首先用 OpenCV 库...
其中CMAKE_MODULE_PATH默认为空,可以利用set命令赋值。 在安装CMake时,CMake为我们提供了很多开发库的FindXXX.cmake模块文件,可以通过命令查询: cmake --help-module-list | grep -E ^Find 3.3 Config模式用法 Config模式的完整命令参数为: find_package(<package> [version] [EXACT] [QUIET] [REQUIRED] [[...
find_package()命令首先会在模块路径中寻找Find.cmake,这是查找库的一个典型方式。具体查找路径依次为CMake:变量${CMAKE_MODULE_PATH}中的所有目录。如果没有,然后再查看它自己的模块目录/share/cmake-x.y/Modules/($CMAKE_ROOT的具体值可以通过CMake中message命令输出)。这称为模块模式。
# 将项目目录下的cmake文件夹加入到CMAKE_MODULE_PATH中,让find_pakcage能够找到我们自定义的函数库set(CMAKE_MODULE_PATH"${CMAKE_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH}")add_executable(addtestaddtest.cc)find_package(ADD)if(ADD_FOUND)target_include_directories(addtestPRIVATE${ADD_INCLUDE_DIR})...