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) find_program(XDG-ICON-RESOURCE_EXECUTABLE xdg-icon-resource) find_program(XDG-DESKTOP-MENU_EXECUTABLE xdg-desktop-menu) 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(CODE " message(\"Installing icon\") execute_process(COMMAND ${XDG-ICON-RESOURCE_EXECUTABLE} install --size 128 ${CMAKE_CURRENT_SOURCE_DIR}/uvos-vhfmill.png) message(\"Installing .desktop file\") execute_process(COMMAND ${XDG-DESKTOP-MENU_EXECUTABLE} install --novendor ${CMAKE_CURRENT_SOURCE_DIR}/vhfmill.desktop) ") install(TARGETS vhfmill BUNDLE DESTINATION . LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) qt_finalize_executable(vhfmill)