cmake_minimum_required(VERSION 3.24)
project(gf_e310_windows_packets LANGUAGES CXX)
if(NOT WIN32)
    message(FATAL_ERROR "Use the Windows compiler for this host entry point")
endif()
add_executable(gf_e310_windows_protocol_selftest
    ../../../wifi_pluto_link/host/ap_realtime.cpp
    ../../../tools/wifi_protocol.cpp)
target_compile_definitions(gf_e310_windows_protocol_selftest PRIVATE GF_AP_PROTOCOL_ONLY=1 WIN32_LEAN_AND_MEAN NOMINMAX)
target_compile_features(gf_e310_windows_protocol_selftest PRIVATE cxx_std_20)
target_compile_options(gf_e310_windows_protocol_selftest PRIVATE /W4 /permissive- /EHsc)
target_link_libraries(gf_e310_windows_protocol_selftest PRIVATE bcrypt)
add_executable(gf_e310_packet_wire_selftest ../e310_packet_wire_selftest.cpp)
target_compile_features(gf_e310_packet_wire_selftest PRIVATE cxx_std_20)
target_compile_options(gf_e310_packet_wire_selftest PRIVATE /W4 /WX /permissive- /EHsc)
add_executable(gf_e310_rx_event_selftest ../e310_rx_event_selftest.cpp)
target_compile_features(gf_e310_rx_event_selftest PRIVATE cxx_std_20)
target_compile_options(gf_e310_rx_event_selftest PRIVATE /W4 /WX /permissive- /EHsc)
add_executable(gf_e310_counter_snapshot_test ../e310_counter_snapshot_test.cpp)
target_compile_features(gf_e310_counter_snapshot_test PRIVATE cxx_std_20)
target_compile_options(gf_e310_counter_snapshot_test PRIVATE /W4 /WX /permissive- /EHsc)
add_executable(gf_e310_packet_tx_wait_selftest ../e310_packet_tx_wait_selftest.cpp)
target_compile_features(gf_e310_packet_tx_wait_selftest PRIVATE cxx_std_20)
target_compile_options(gf_e310_packet_tx_wait_selftest PRIVATE /W4 /WX /permissive- /EHsc)
add_executable(gf_e310_windows_ap ../e310_windows_ap.cpp ../../../tools/wifi_protocol.cpp)
add_executable(gf_e310_capture_stats ../e310_capture_stats.cpp)
target_compile_features(gf_e310_capture_stats PRIVATE cxx_std_20)
target_compile_options(gf_e310_capture_stats PRIVATE /W4 /WX /permissive- /EHsc)
target_compile_definitions(gf_e310_windows_ap PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX)
target_compile_features(gf_e310_windows_ap PRIVATE cxx_std_20)
target_compile_options(gf_e310_windows_ap PRIVATE /W4 /permissive- /EHsc)
target_link_libraries(gf_e310_windows_ap PRIVATE bcrypt)
