cmake_minimum_required(VERSION 3.15)
project(PortXDF CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

if(MSVC)
    add_compile_options(/O2 /EHsc /W3)
else()
    add_compile_options(-O2 -Wall)
endif()

add_executable(portxdf_port src/cli_main.cpp)
find_package(Threads REQUIRED)
target_link_libraries(portxdf_port PRIVATE Threads::Threads)
install(TARGETS portxdf_port DESTINATION bin)

if(WIN32)
    add_executable(portxdf_gui WIN32 src/gui_main.cpp)
    target_compile_definitions(portxdf_gui PRIVATE NOMINMAX WIN32_LEAN_AND_MEAN)
    target_link_libraries(portxdf_gui PRIVATE Threads::Threads user32 gdi32 comctl32 comdlg32 uxtheme)
    install(TARGETS portxdf_gui DESTINATION bin)
endif()

# NOTE for Windows users: prefer scripts\Build_and_Run.bat.
