cmake_minimum_required(VERSION 3.16)
project(sp_qtview LANGUAGES CXX)

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

# Qt6（Widgets + OpenGL 用于真 3D）
find_package(Qt6 REQUIRED COMPONENTS Widgets OpenGLWidgets)

# 复用现有核心：图结构 + 五大算法 + 交通网络 + 多目标
set(CORE
    ../cheng/graph.cpp
    ../cheng/dijkstra.cpp
    ../cheng/bellman_ford.cpp
    ../cheng/spfa.cpp
    ../cheng/floyd.cpp
    ../cheng/traffic.cpp
    ../cheng/multitarget.cpp
)

# 可视化源码已迁到 cheng/view/（与算法核心同属 cheng/，在子目录中隔离）
add_executable(sp_qtview WIN32
    ../cheng/view/main.cpp
    ../cheng/view/map_view.cpp
    ../cheng/view/algo_panel.cpp
    ../cheng/view/main_window.cpp
    ../cheng/view/view3d.cpp
    ${CORE}
)

target_include_directories(sp_qtview PRIVATE ../cheng/view ../cheng ../common)
target_link_libraries(sp_qtview PRIVATE Qt6::Widgets Qt6::OpenGLWidgets wininet)
