From patchwork Sun Jan 21 22:39:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Neal Gompa X-Patchwork-Id: 19439 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 08026BDB1C for ; Sun, 21 Jan 2024 22:41:21 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 9372E62945; Sun, 21 Jan 2024 23:41:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1705876880; bh=s1q6g5YigLm9uvXy8ZyvaxXsaLmDWjtUXFxxeflmsF8=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=tTOimVt74zkeuVrrVI2mxth/u48P9eCho8ahf8Eay9ibtXeVDKRfbXPB8AtcD0BFK aVvEcEDZYW+kDl57CsQI37FnVsjj1CVY7zvfaQkie2OFTxNLpMzlfGbVgyriRT/YgU vdJKW5CMPSss7JUzytnXczF18EUVHUomsmAUBvo1/RKdb4MAf+1OQa+lv7/F6cWJ4Z 0GaL5RN0yOE9AiqCdhwGSC/VBS/kmFqMfdqiOEETIXAP3hmV/yArliiYKYb7kKlB8/ gwsUzFG5J9G2bN2ot/UtKT92tI10Eu9lBFo4Z3xhLt2vGzXdnmWrxYAEw2qOtnTzkQ SZjFIY3uqkA0w== Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 111CD628B6 for ; Sun, 21 Jan 2024 23:41:18 +0100 (CET) Received: by mail-ot1-f47.google.com with SMTP id 46e09a7af769-6dbcebaf9a9so1504010a34.3 for ; Sun, 21 Jan 2024 14:41:17 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705876876; x=1706481676; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jluHLwDS2gugrqvJ7nUpCu5D5BRpYUpBGRVQPffURUU=; b=S5sPUj+V9Y2M8LkN0Fm4Jru8gzY7KvFCnSVvPAPNv/wMKywPULOOhL3hMZz+IdURH7 BPmf2vpHXGSTHYqZALVldzilAQX8bZp84cmw2JMD46yI5mn1D72VUlaHxf/dfN8M93FF ifSSyjtdkJRKvy8nMky5mCQl+fk32W/hW08K6H/Jr5mKetBkiMAJnUvxdRkIQNmPSSXo Pfb2aN12mNELs7+coCfNHfpCbPA3Cyw0wQk4yq7fqdwejt7Xnvv3z3pe/yNCCnbBcYaB SChJOOCQOb4kwGeu6Vitx6YqNELL0zWJRVBS3uqW8e6tOJKyFL5h6orRlCIqHhdfZeeI 7cnA== X-Gm-Message-State: AOJu0YxxF4zigrsmIZoonJJ4n6Enk88dgGQly5qpEVbvBLF/Hc4x0m+6 R9+DkKUt7KoZMTjbTGAh81d4APy5zTp1jGHwEQFA255M1bWl4qiNaWhs2XxxfNq4Yw== X-Google-Smtp-Source: AGHT+IHWXygeVHQE6nYgDxpc+tC/kl9MkKVcEz094qbnLj5Twd7K0Y1nMJk2tfa2O/mSn/3EqgXzcg== X-Received: by 2002:a05:6830:3288:b0:6dc:8656:ae45 with SMTP id m8-20020a056830328800b006dc8656ae45mr2453541ott.33.1705876875705; Sun, 21 Jan 2024 14:41:15 -0800 (PST) Received: from Belldandy-Slimbook.infra.opensuse.org ([32.220.181.243]) by smtp.gmail.com with ESMTPSA id e2-20020ac84b42000000b0042a233d21c2sm1930112qts.80.2024.01.21.14.41.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Jan 2024 14:41:14 -0800 (PST) To: libcamera-devel Date: Sun, 21 Jan 2024 17:39:53 -0500 Message-ID: <20240121224052.1049989-2-neal@gompa.dev> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240121224052.1049989-1-neal@gompa.dev> References: <20240121224052.1049989-1-neal@gompa.dev> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 1/3] apps: qcam: Port to Qt 6 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Neal Gompa via libcamera-devel From: Neal Gompa Reply-To: Neal Gompa Cc: Wim Taymans , Neal Gompa Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Open source Qt 5 has been effectively end of life since the release of Qt 6, and Qt 6 has current LTS releases now. This change ports qcam to Qt 6.2 and drops some of the baggage related to Qt 5 that is no longer applicable. Signed-off-by: Neal Gompa Reviewed-by: Eric Curtin --- README.rst | 2 +- meson.build | 2 +- src/apps/qcam/meson.build | 45 +++++++++++---------------------------- 3 files changed, 15 insertions(+), 34 deletions(-) diff --git a/README.rst b/README.rst index 315738ee..6f1c9302 100644 --- a/README.rst +++ b/README.rst @@ -88,7 +88,7 @@ for cam: [optional] - libsdl2-dev: Enables the SDL sink for qcam: [optional] - libtiff-dev qtbase5-dev qttools5-dev-tools + libtiff-dev qt6-base-dev qt6-tools-dev-tools for tracing with lttng: [optional] liblttng-ust-dev python3-jinja2 lttng-tools diff --git a/meson.build b/meson.build index cb6b666a..4c315e2a 100644 --- a/meson.build +++ b/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: CC0-1.0 project('libcamera', 'c', 'cpp', - meson_version : '>= 0.60', + meson_version : '>= 0.63', version : '0.2.0', default_options : [ 'werror=true', diff --git a/src/apps/qcam/meson.build b/src/apps/qcam/meson.build index 6cf4c171..c7fcfbeb 100644 --- a/src/apps/qcam/meson.build +++ b/src/apps/qcam/meson.build @@ -1,13 +1,13 @@ # SPDX-License-Identifier: CC0-1.0 -qt5 = import('qt5') -qt5_dep = dependency('qt5', +qt6 = import('qt6') +qt6_dep = dependency('qt6', method : 'pkg-config', - modules : ['Core', 'Gui', 'Widgets'], + modules : ['Core', 'Gui', 'OpenGL', 'OpenGLWidgets', 'Widgets'], required : get_option('qcam'), - version : '>=5.4') + version : '>=6.2') -if not qt5_dep.found() +if not qt6_dep.found() qcam_enabled = false subdir_done() endif @@ -20,46 +20,27 @@ qcam_sources = files([ 'main.cpp', 'main_window.cpp', 'message_handler.cpp', + 'viewfinder_gl.cpp', 'viewfinder_qt.cpp', ]) qcam_moc_headers = files([ 'cam_select_dialog.h', 'main_window.h', + 'viewfinder_gl.h', 'viewfinder_qt.h', ]) qcam_resources = files([ 'assets/feathericons/feathericons.qrc', + 'assets/shader/shaders.qrc', ]) -qt5_cpp_args = [apps_cpp_args, '-DQT_NO_KEYWORDS'] +qt6_cpp_args = [apps_cpp_args, '-DQT_NO_KEYWORDS'] -if cxx.has_header_symbol('QOpenGLWidget', 'QOpenGLWidget', - dependencies : qt5_dep, args : '-fPIC') - qcam_sources += files([ - 'viewfinder_gl.cpp', - ]) - qcam_moc_headers += files([ - 'viewfinder_gl.h', - ]) - qcam_resources += files([ - 'assets/shader/shaders.qrc' - ]) -endif - -# gcc 9 introduced a deprecated-copy warning that is triggered by Qt until -# Qt 5.13. clang 10 introduced the same warning, but detects more issues -# that are not fixed in Qt yet. Disable the warning manually in both cases. -if ((cc.get_id() == 'gcc' and cc.version().version_compare('>=9.0') and - qt5_dep.version().version_compare('<5.13')) or - (cc.get_id() == 'clang' and cc.version().version_compare('>=10.0'))) - qt5_cpp_args += ['-Wno-deprecated-copy'] -endif - -resources = qt5.preprocess(moc_headers : qcam_moc_headers, +resources = qt6.preprocess(moc_headers : qcam_moc_headers, qresources : qcam_resources, - dependencies : qt5_dep) + dependencies : qt6_dep) qcam = executable('qcam', qcam_sources, resources, install : true, @@ -69,6 +50,6 @@ qcam = executable('qcam', qcam_sources, resources, libatomic, libcamera_public, libtiff, - qt5_dep, + qt6_dep, ], - cpp_args : qt5_cpp_args) + cpp_args : qt6_cpp_args)