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中的pkg_check_modules()来引用这些包)。下面给出一个FindXXX.cmake的例子,引用的是ffmpeg这个包。 #FindFFMEPG.cmake set(FFMPEG_SOURCE /home/ruby/ffmpeg_loc) #指定ffmpeg位置 set(FFMPEG_INCLUDE_DIRS ${FFMPEG_SOURCE}/include) set(FFMPEG_LIBDIRS_DIRS ${FFMPEG_SOURCE}/lib)...
find_package(OpenCV REQUIRED PATHS /usr/local/share/OpenCV NO_DEFAULT_PATH) c.pkg_check_module 编译安装第三方库时,会根据安装位置生成.pc文件,里面记录了头文件、库文件等的地址信息,将.pc文件路径加入pkg-config的环境变量PKG_CONFIG_PATH作为搜索路径。比如linux默认搜索路径/lib/pkgconfig。 pkg_check_mod...
pkg_check_modules是CMake自己的pkg-config模块的一个用来简化的封装, 与linux的pkg-config命令类似, 使用前需find_package(PkgConfig REQUIRED),实现结果与find_package等价, 查找.pc文件, 查找路径一般是lib/pkgconfig, share/pkgconfig找到相应的包后就会定义<prefix>_INCLUDE_DIRS和其他的这类变量...
slocate先将当前目录结构做成一个数据库,然后在此数据库中搜索匹配记录,因此它比find命令的搜索速度更快...
你可以直接在命令行中使用`pkg-config`来获取这些选项,然后再在CMake中使用这些选项。 示例: bash pkg-config --cflags --libs libname 然后在CMake中使用这些选项: cmake find_package(PkgConfig REQUIRED) pkg_check_modules(LIBNAME REQUIRED libname) include_directories(${LIBNAME_INCLUDE_DIRS}) # 总结 `...
从源代码编译的CMake find_packagepkg_check_modules构建在pkgconfig及其.pc文件之上,以查找依赖项。默认...
libfind_pkg_check_modules 是CMake自己的pkg-config模块的一个用来简化的封装。你不用再检查CMake的版本,加载合适的模块,检查是否被加载,等等。参数和传给 pkg_check_modules 的一样:先是待返回变量的前缀,然后是包名(pkg-config的)。这样就定义了 _INCLUDE_DIRS 和其他的这种变量。 5.2.1 依赖(可选) libfi...
See the discussion in: #30803 (comment). I assume one thing we could do, is try find_package(ZeroMQ) first, and fallback to pkg_check_modules(libzmq), and just maintain this (pretty much) forever. That might be better than somewhat vauge...
find_package(PkgConfig REQUIRED) pkg_check_modules(SOCKET_CAN REQUIRED socket_can) include_directories(${SOCKET_CAN_INCLUDE_DIRS}) link_directories(${SOCKET_CAN_LIBRARY_DIRS}) add_definitions(${SOCKET_CAN_CFLAGS_OTHER}) 这段代码告诉 CMake 使用 pkg-config 来查找 socket_can,并包含必要的头文件...