57 lines
1.3 KiB
CMake
57 lines
1.3 KiB
CMake
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)
|