# ============================================================
# 实验 2：颜色空间转换  -  CMake 构建配置文件
# ============================================================

# 指定 CMake 最低版本要求（3.10 是一个广泛兼容的版本）
cmake_minimum_required(VERSION 3.10)

# 项目名称：exp2_color_space
# 这个名称用于标识整个 CMake 项目
project(exp2_color_space)

# 设置 C++ 标准为 C++11
# C++11 引入了许多现代语言特性，使代码更简洁、更安全
set(CMAKE_CXX_STANDARD 11)

# 强制要求编译器必须支持 C++11，否则停止配置
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 查找并加载 OpenCV 库
# REQUIRED 参数：如果找不到 OpenCV，CMake 会立即报错退出
# 这一步会设置 ${OpenCV_LIBS} 和 ${OpenCV_INCLUDE_DIRS} 等变量
find_package(OpenCV REQUIRED)

# 定义可执行文件目标
# 可执行文件名：exp2（运行命令为 ./exp2）
# 源文件：main.cpp
add_executable(exp2 main.cpp)

# 将 OpenCV 的动态库/静态库链接到 exp2 可执行文件
# 没有这行代码，编译器会报告大量"未定义符号"错误
# 因为 main.cpp 中调用的 OpenCV 函数实现都在这些库里
target_link_libraries(exp2 ${OpenCV_LIBS})

# 将 OpenCV 的头文件目录添加到 include 路径
# 使 #include <opencv2/opencv.hpp> 能被正确找到
include_directories(${OpenCV_INCLUDE_DIRS})
