set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets Network SerialPort REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets Network SerialPort REQUIRED)

set(COMMON_SOURCES
	../common/microcontroller.cpp
	../common/microcontroller.h
	../common/items/item.cpp
	../common/items/item.h
	../common/items/itemstore.cpp
	../common/items/itemstore.h
	../common/items/trainsignal.cpp
	../common/items/trainsignal.h
	../common/items/train.cpp
	../common/items/train.h
	../common/items/turnout.cpp
	../common/items/turnout.h
)

include_directories(PRIVATE
	./common/items/
	./common

)

set(COMMON_LINK_LIBRARYS
	Qt${QT_VERSION_MAJOR}::Network
	Qt${QT_VERSION_MAJOR}::SerialPort
)

add_subdirectory(trainControllerUI)
add_subdirectory(trainOverlord)

