cmake_minimum_required(VERSION 3.16) project(HDMIViewer VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) # Qt6 – Gui enthält den JPEG-Plugin-Support (QImage::fromData) # OpenGLWidgets für das GPU-beschleunigte Video-Rendering (Bildglättung/Retro-Optik) find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets OpenGL OpenGLWidgets) # ALSA find_package(PkgConfig REQUIRED) pkg_check_modules(ALSA REQUIRED alsa) # V4L2 Header-Check include(CheckIncludeFileCXX) check_include_file_cxx("linux/videodev2.h" HAVE_V4L2) if(NOT HAVE_V4L2) message(FATAL_ERROR "linux/videodev2.h nicht gefunden.") endif() set(SOURCES src/main.cpp src/MainWindow.cpp src/VideoWidget.cpp src/DeviceDialog.cpp src/AudioThread.cpp src/CaptureThread.cpp ) add_executable(hdmi-viewer ${SOURCES}) target_link_libraries(hdmi-viewer PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets Qt6::OpenGL Qt6::OpenGLWidgets ${ALSA_LIBRARIES} ) target_include_directories(hdmi-viewer PRIVATE ${ALSA_INCLUDE_DIRS} src ) target_compile_options(hdmi-viewer PRIVATE ${ALSA_CFLAGS_OTHER} -Wall -Wextra ) install(TARGETS hdmi-viewer DESTINATION bin)