2. 演示 笔者将Eigen-3.4.0安装在了/opt/eigen-3.4.0目录下,在使用时可以这样写CMakeLists.txt cmake_minimum_required(VERSION3.5) project(program LANGUAGES CXX) set(CMAKE_CXX_STANDARD11) set(CMAKE_CXX_STANDARD_REQUIREDON) list(APPEND CMAKE_PREFIX_PATH"/opt/eigen-3.4.0")# 安装路径前缀 find_...
list(APPEND CMAKE_PREFIX_PATH "./thirdParty/opencv/build")#.cmake所在路径find_package(OpenCV REQUIRED)add_executable(project main.cpp) target_link_libraries(project ${OpenCV_LIBS})#将exe与第三方库链接 2.对于需要源码编译(例如src文件夹中含有一堆.h,.cpp文件等) file(GLOB_RECURSE <变量名> "sr...
list(APPEND CMAKE_PREFIX_PATH "./thirdParty/opencv/build")#.cmake所在路径find_package(OpenCV REQUIRED)add_executable(project main.cpp) target_link_libraries(project ${OpenCV_LIBS})#将exe与第三方库链接 2.对于需要源码编译(例如src文件夹中含有一堆.h,.cpp文件等) file(GLOB_RECURSE <变量名> "sr...
我们可以设置<package>_DIR值,或者将查找路径添加到CMAKE_PREFIX_PATH中,实现如下: # 定义查找路径 set(Protobuf_PREFIX_PATH "/usr/local/protobuf") # 添加到 CMAKE_PREFIX_PATH list(APPEND CMAKE_PREFIX_PATH "${Protobuf_PREFIX_PATH}") # 查找 Protobuf find_package(Protobuf REQUIRED) # 包含头文...
2.2 未指定NO_DEFAULT_PATH 按照官方文档的描述,这种情况下,搜索的路径会很多很复杂,一般来讲,我们只需要关注CMAKE_PREFIX_PATH这一个变量就行,比如想把自己编译安装在自己用户根目录下的.local加到搜索目录中,可以使用下面代码: list(APPEND CMAKE_PREFIX_PATH $ENV{HOME}/.local/) ...
PATH为CMakeLists.txt所在的目录。 step3. 在Makefile文件所在的路径,执行make命令进行编译。 一般使用过程如下: $ mkdir build $ cd build/ $ cmake .. $ make * 为了不让编译产生的中间文件污染项目的文件结构,专门创建build文件夹进行编译构建。 二,CMake与Make的区别 CMake并不直接参与软件的构建和编译,...
调用find_package寻找opencv的.cmake文件。.cmake文件在第三方包编译安装时自动安装到$CMAKE_PREFIX_PATH/lib/cmake/等文件夹中,比如/usr/lib/cmake/等 调用之后成功找到 CMAKE 会定义以下变量: < NAME>_FOUND < NAME>_INCLUDE_DIRS or < NAME>_INCLUDES ...
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules) 这里首先是list(APPEND VAR_NAME VAR_VALUE)这一用法,表示给变量VAR_NAME追加一个元素VAR_VALUE。虽然我写成VAR_NAME,但前面有提到,cmake中的变量几乎都是字符串或字符串数组,这里VAR_NAME你就当它是一个数组就好了,而当后续使用${VAR_...
CMake的全称是Cross-platform Make。我第一次参与Linux C++开发时使用的工具是Make,而后开始切换到CMake,一开始以为CMake是和C语言有关,原来开头的C表示它可以跨平台。
If you are using custome boost path, set CMAKE_PREFIX_PATH firstly. So, cmake can find your custome boost. list(FIND CMAKE_PREFIX_PATH ${CUSTOME_BOOST_DEP_PREFIX} _INDEX) if (_INDEX EQUAL -1) list(APPEND CMAKE_PREFIX_PATH ${CUSTOME_BOOST_DEP_PREFIX}) # set(CMAKE_PREFIX_PATH ...