include(FlightGearComponent)

set(SOURCES
    AbstractInstrument.cxx
    adf.cxx
    airspeed_indicator.cxx
    altimeter.cxx
    attitude_indicator.cxx
    attitude_indicator_electric.cxx
    clock.cxx
    dclgps.cxx
    dme.cxx
    gps.cxx
    gsdi.cxx
    gyro.cxx
    heading_indicator.cxx
    heading_indicator_dg.cxx
    heading_indicator_fg.cxx
    inst_vertical_speed_indicator.cxx
    instrument_mgr.cxx
    kr_87.cxx
    mag_compass.cxx
    marker_beacon.cxx
    mk_viii.cxx
    mrg.cxx
    navradio.cxx
    newnavradio.cxx
    commradio.cxx
    rad_alt.cxx
    rnav_waypt_controller.cxx
    slip_skid_ball.cxx
    tacan.cxx
    tcas.cxx
    transponder.cxx
    turn_indicator.cxx
    vertical_speed_indicator.cxx
    KLN89/kln89.cxx
    KLN89/kln89_page.cxx
    KLN89/kln89_page_act.cxx
    KLN89/kln89_page_apt.cxx
    KLN89/kln89_page_cal.cxx
    KLN89/kln89_page_dir.cxx
    KLN89/kln89_page_fpl.cxx
    KLN89/kln89_page_int.cxx
    KLN89/kln89_page_nav.cxx
    KLN89/kln89_page_ndb.cxx
    KLN89/kln89_page_nrst.cxx
    KLN89/kln89_page_oth.cxx
    KLN89/kln89_page_set.cxx
    KLN89/kln89_page_usr.cxx
    KLN89/kln89_page_vor.cxx
    KLN89/kln89_page_alt.cxx
    )

set(HEADERS
    AbstractInstrument.hxx
    adf.hxx
    airspeed_indicator.hxx
    altimeter.hxx
    attitude_indicator.hxx
    attitude_indicator_electric.hxx
    clock.hxx
    dclgps.hxx
    dme.hxx
    gps.hxx
    gsdi.hxx
    gyro.hxx
    heading_indicator.hxx
    heading_indicator_dg.hxx
    heading_indicator_fg.hxx
    inst_vertical_speed_indicator.hxx
    instrument_mgr.hxx
    kr_87.hxx
    mag_compass.hxx
    marker_beacon.hxx
    mk_viii.hxx
    mrg.hxx
    navradio.hxx
    newnavradio.hxx
    commradio.hxx
    rad_alt.hxx
    rnav_waypt_controller.hxx
    slip_skid_ball.hxx
    tacan.hxx
    tcas.hxx
    transponder.hxx
    turn_indicator.hxx
    vertical_speed_indicator.hxx
    KLN89/kln89.hxx
    KLN89/kln89_page.hxx
    KLN89/kln89_page_act.hxx
    KLN89/kln89_page_apt.hxx
    KLN89/kln89_page_cal.hxx
    KLN89/kln89_page_dir.hxx
    KLN89/kln89_page_fpl.hxx
    KLN89/kln89_page_int.hxx
    KLN89/kln89_page_nav.hxx
    KLN89/kln89_page_ndb.hxx
    KLN89/kln89_page_nrst.hxx
    KLN89/kln89_page_oth.hxx
    KLN89/kln89_page_set.hxx
    KLN89/kln89_page_usr.hxx
    KLN89/kln89_page_vor.hxx
    KLN89/kln89_page_alt.hxx
)

if (ENABLE_HUD)
    list(APPEND SOURCES
        HUD/HUD.cxx
        HUD/HUD_dial.cxx
        HUD/HUD_gauge.cxx
        HUD/HUD_instrument.cxx
        HUD/HUD_label.cxx
        HUD/HUD_ladder.cxx
        HUD/HUD_misc.cxx
        HUD/HUD_runway.cxx
        HUD/HUD_scale.cxx
        HUD/HUD_tape.cxx
        HUD/HUD_tbi.cxx
    )
    list(APPEND HEADERS
        HUD/HUD.hxx
        HUD/HUD_private.hxx
    )
endif()

flightgear_component(Instruments "${SOURCES}" "${HEADERS}")
