# =============================================================================
#  Day4 Mandelbrot 分形渲染器 —— 独立 CMake 工程
#
#  本文件供「单独打开 / 独立构建 / 单独打包共享」使用：
#    cmake -S . -B build -G Ninja \
#          -DCMAKE_PREFIX_PATH=<Qt5.14.2> -DCMAKE_BUILD_TYPE=Debug
#    cmake --build build
#
#  仓库统一构建【不走】这里：顶层 CMakeLists.txt 只
#  add_subdirectory(docs/teaching/examples) 且不递归，统一构建走
#  examples/CMakeLists.txt 的 add_executable，源文件同为
#  main.cpp / mandelbrot_widget.cpp / mandelbrot_strip_task.cpp（零重复）。
#  本目录不计入仓库「173 目标」计数。
#
#  说明：本工程为手写规范版（C++17 / cmake 3.16 / 无 ANDROID 噪音），
#  区别于其它子目录里 Qt Creator 自动导出的低质量模板。
# =============================================================================
cmake_minimum_required(VERSION 3.16)

project(qt_mandelbrot_renderer LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_AUTOMOC ON)

find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED)
message(STATUS "Found Qt5 ${Qt5Core_VERSION_STRING} at ${Qt5Core_DIR}")

add_executable(qt_mandelbrot_renderer
    main.cpp
    mandelbrot_widget.cpp
    mandelbrot_strip_task.cpp)
target_include_directories(qt_mandelbrot_renderer PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(qt_mandelbrot_renderer PRIVATE Qt5::Core Qt5::Gui Qt5::Widgets)
target_compile_options(qt_mandelbrot_renderer PRIVATE -Wall -Wextra)
