
project(simulation)

set(${PROJECT_NAME}_NAMES
  debugoutput
  filteredtextbuffer
  radiooutputswidget
  simulateduiwidget
  simulatorinterface
  simulatormainwindow
  simulatorstartupdialog
  simulatorwidget
  telemetrysimu
  trainersimu
  widgets/lcdwidget
  widgets/radiowidget
  widgets/virtualjoystickwidget
)

if(SDL2_FOUND)
  set(${PROJECT_NAME}_NAMES
    ${${PROJECT_NAME}_NAMES}
    joystick
    joystickdialog
  )
endif()

AddHeadersSources()

set(${PROJECT_NAME}_SRCS
  ${${PROJECT_NAME}_SRCS}
  simulateduiwidget9X.cpp
  simulateduiwidgetBoxer.cpp
  simulateduiwidgetCommando8.cpp
  simulateduiwidgetEL18.cpp
  simulateduiwidgetJumperT12.cpp
  simulateduiwidgetJumperT14.cpp
  simulateduiwidgetJumperT16.cpp
  simulateduiwidgetJumperT18.cpp
  simulateduiwidgetJumperT20.cpp
  simulateduiwidgetJumperTLITE.cpp
  simulateduiwidgetJumperTPRO.cpp
  simulateduiwidgetLR3PRO.cpp
  simulateduiwidgetNV14.cpp
  simulateduiwidgetPL18.cpp
  simulateduiwidgetPocket.cpp
  simulateduiwidgetT8.cpp
  simulateduiwidgetTX12.cpp
  simulateduiwidgetTX16S.cpp
  simulateduiwidgetX10.cpp
  simulateduiwidgetX12.cpp
  simulateduiwidgetX7.cpp
  simulateduiwidgetX9.cpp
  simulateduiwidgetX9D2019.cpp
  simulateduiwidgetX9E.cpp
  simulateduiwidgetX9LITE.cpp
  simulateduiwidgetXLITE.cpp
  simulateduiwidgetZorro.cpp
)

set(${PROJECT_NAME}_HDRS
  ${${PROJECT_NAME}_HDRS}
  radiouiaction.h
  widgets/buttonswidget.h
  widgets/radiofaderwidget.h
  widgets/radiokeywidget.h
  widgets/radioknobwidget.h
  widgets/radioswitchwidget.h
  widgets/radiotrimwidget.h
  widgets/sliderwidget.h
)

# AUTOMOC does not detect so manually process
qt5_wrap_cpp(${PROJECT_NAME}_SRCS
  ${${PROJECT_NAME}_HDRS}
)

add_library(${PROJECT_NAME}
  ${${PROJECT_NAME}_SRCS}
)

target_link_libraries(${PROJECT_NAME}
  PRIVATE
    ${CPN_COMMON_LIB}
    Qt5::Svg
)

target_include_directories(${PROJECT_NAME}
  PRIVATE
    "${CMAKE_SOURCE_DIR}"
    "${CMAKE_CURRENT_BINARY_DIR}"
    "${CMAKE_CURRENT_LIST_DIR}/widgets"
    "${RADIO_SRC_DIR}/fonts/std"
  PUBLIC
    "${CMAKE_CURRENT_LIST_DIR}"
)
