cmake_minimum_required(VERSION 3.10)
project(prostit)

set(CMAKE_CXX_STANDARD 17)

set(IMGUI_DIR include/imgui)

include_directories(include ${IMGUI_DIR} ${IMGUI_DIR}/backends)

add_executable(prostit WIN32
    src/mem.cpp
    src/osuReader.cpp
    src/main.cpp
    src/humanMouse.cpp
    src/overlay.cpp

    # ImGui core
    ${IMGUI_DIR}/imgui.cpp
    ${IMGUI_DIR}/imgui_demo.cpp
    ${IMGUI_DIR}/imgui_draw.cpp
    ${IMGUI_DIR}/imgui_tables.cpp
    ${IMGUI_DIR}/imgui_widgets.cpp

    # ImGui backends
    ${IMGUI_DIR}/backends/imgui_impl_win32.cpp
    ${IMGUI_DIR}/backends/imgui_impl_dx11.cpp
)

target_link_libraries(prostit PRIVATE
    psapi user32 dwmapi
    d3d11 dxgi d3dcompiler
)

# ── release hardening ────────────────────────────────────────────────
if(MSVC)
    target_compile_options(prostit PRIVATE
        /O2 /GL /GS- /DNDEBUG
    )
    target_link_options(prostit PRIVATE
        /LTCG /OPT:REF /OPT:ICF /DEBUG:NONE /INCREMENTAL:NO
    )
endif()