cmake_minimum_required(VERSION 3.5)

project(VHFMill VERSION 0.1 LANGUAGES CXX)

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 REQUIRED COMPONENTS Widgets)
find_package(Qt6 REQUIRED COMPONENTS Widgets SerialPort Network 3DCore 3DRender 3DInput 3DExtras)

set(PROJECT_SOURCES
	    main.cpp
		mainwindow.cpp
		vhfmill.cpp
		vhfmill.h
		led.cpp
		led.h
		gcodetovhf.cpp
		gcodetovhf.h
		mainwindow.h
		mainwindow.ui
		backplotwidget.cpp
		backplotwidget.h
		orbitcameracontroller.cpp
		orbitcameracontroller.h
		vhfmillthread.cpp
		vhfmillthread.h
		mainobject.cpp
		mainobject.h
)

qt_add_executable(VHFMill MANUAL_FINALIZATION ${PROJECT_SOURCES})

target_link_libraries(VHFMill PRIVATE Qt6::Widgets Qt6::SerialPort Qt6::Network Qt6::3DCore Qt6::3DRender Qt6::3DExtras)
target_include_directories(VHFMill PRIVATE .)

install(TARGETS VHFMill BUNDLE DESTINATION . LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

qt_finalize_executable(VHFMill)
