CMake优雅地使用环境变量

前言

本文只是关于如何配置他人已经包装好的软件配置路径。
由于每一个电脑的安装路径都不一样,所以如果为了保证 CMakelists.txt 可以在其他电脑上复用,需要用到环境变量,代替曾经用绝对路径的情况

配置

配置需要通过 find_package(OpenCV REQUIRED) 到环境变量中从上到下依次寻找路径,找到便退出。

在我们的 xxx.cmake 中会有关于如何设置 CMakelists.txt 的配置
例如 OpenCVOpenCVConfig.cmake[Pasted image 20231228102620.png]

将他们找到,然后注意三个部分,find_package 找到路径 add_executable 写可执行文件 target_include_directories 链接头 target_link_libraries 链接库

1
2
3
4
5
6
7
find_package(OpenCV REQUIRED)

add_executable(lesson4_opencv main.cpp)

target_include_directories(lesson4_opencv PRIVATE ${OpenCV_INCLUDE_DIRS})
#`$` + `{}` 是 cmake 里的变量
target_link_libraries(lesson4_opencv ${OpenCV_LIBS})

就可以了