cmake_minimum_required(VERSION 3.19) project(gstreamerViewer LANGUAGES CXX) find_package(Qt6 6.5 REQUIRED COMPONENTS Core Widgets) find_package(PkgConfig REQUIRED) pkg_check_modules(GSTREAMER REQUIRED gstreamer-1.0 gstreamer-video-1.0 gstreamer-app-1.0) qt_standard_project_setup() set(CMAKE_AUTOUIC_SEARCH_PATHS ${CMAKE_CURRENT_SOURCE_DIR}/ui) qt_add_executable(gstreamerViewer WIN32 MACOSX_BUNDLE src/main.cpp src/mainwindow.cpp include/mainwindow.h ui/mainwindow.ui src/socketclient.cpp include/socketclient.h src/gstreamerpipelinewidget.cpp include/gstreamerpipelinewidget.h src/cameracontrolwidget.cpp include/cameracontrolwidget.h src/videoviewerwidget.cpp include/videoviewerwidget.h src/aboutwidget.cpp include/aboutwidget.h ) target_include_directories(gstreamerViewer PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include ${GSTREAMER_INCLUDE_DIRS} ) target_link_libraries(gstreamerViewer PRIVATE Qt::Core Qt::Widgets ${GSTREAMER_LIBRARIES} ) include(GNUInstallDirs) install(TARGETS gstreamerViewer BUNDLE DESTINATION . RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) qt_generate_deploy_app_script( TARGET gstreamerViewer OUTPUT_SCRIPT deploy_script NO_UNSUPPORTED_PLATFORM_ERROR ) install(SCRIPT ${deploy_script})