From: Claudio Cambra Date: Wed, 29 Dec 2021 16:44:40 +0000 (+0100) Subject: Add option of enabling QtQuick compiler X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~17^2~212^2~4 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e25140d72e4c2122773efc2548978b6fdaf7cea7;p=nextcloud-desktop.git Add option of enabling QtQuick compiler Signed-off-by: Claudio Cambra --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 930e5a9e7..26371b6d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,6 @@ cmake_minimum_required(VERSION 3.6) set(CMAKE_CXX_STANDARD 14) +cmake_policy(SET CMP0071 NEW) # Enable use of QtQuick compiler/generated code project(client) @@ -82,6 +83,10 @@ add_definitions( -DQT_MESSAGELOGCONTEXT #enable function name and line number in debug output ) +if(QUICK_COMPILER) + add_definitions(-DQUICK_COMPILER) # Enable use of QtQuick compiler +endif() + # if we cannot get it from git, directly try .tag (packages) # this will work if the tar balls have been properly created # via git-archive. @@ -106,6 +111,9 @@ if(APPLE AND BUILD_OWNCLOUD_OSX_BUNDLE) set(BIN_INSTALL_DIR "${APPLICATION_NAME}.app/Contents/MacOS") endif() + +option(QUICK_COMPILER "Use QtQuick compiler to improve performance" OFF) + # this option removes Http authentication, keychain, shibboleth etc and is intended for # external authentication mechanisms option(TOKEN_AUTH_ONLY "TOKEN_AUTH_ONLY" OFF) diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 85df84dbc..7593a2384 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -1,5 +1,14 @@ project(gui) find_package(Qt5 REQUIRED COMPONENTS Widgets Svg Qml Quick QuickControls2 Xml Network) + +if(QUICK_COMPILER) + find_package(Qt5QuickCompiler) + set_package_properties(Qt5QuickCompiler PROPERTIES + DESCRIPTION "Compile QML at build time" + TYPE OPTIONAL + ) +endif() + if (NOT TARGET Qt5::GuiPrivate) message(FATAL_ERROR "Could not find GuiPrivate component of Qt5. It might be shipped as a separate package, please check that.") endif() @@ -13,9 +22,6 @@ IF(BUILD_UPDATER) endif() configure_file(${CMAKE_SOURCE_DIR}/theme.qrc.in ${CMAKE_SOURCE_DIR}/theme.qrc) - -set(MIRALL_RC_SRC ../../resources.qrc) -list(APPEND MIRALL_RC_SRC ${CMAKE_SOURCE_DIR}/theme.qrc) set(theme_dir ${CMAKE_SOURCE_DIR}/theme) set(client_UI_SRCS @@ -39,21 +45,6 @@ set(client_UI_SRCS addcertificatedialog.ui proxyauthdialog.ui mnemonicdialog.ui - UserStatusSelector.qml - UserStatusSelectorDialog.qml - tray/ActivityActionButton.qml - tray/ActivityItem.qml - tray/ActivityList.qml - tray/Window.qml - tray/UserLine.qml - tray/UnifiedSearchInputContainer.qml - tray/UnifiedSearchResultFetchMoreTrigger.qml - tray/UnifiedSearchResultItem.qml - tray/UnifiedSearchResultItemSkeleton.qml - tray/UnifiedSearchResultItemSkeletonContainer.qml - tray/UnifiedSearchResultListItem.qml - tray/UnifiedSearchResultNothingFound.qml - tray/UnifiedSearchResultSectionItem.qml wizard/flow2authwidget.ui wizard/owncloudadvancedsetuppage.ui wizard/owncloudconnectionmethoddialog.ui @@ -64,6 +55,12 @@ set(client_UI_SRCS wizard/welcomepage.ui ) +if(QUICK_COMPILER) + qtquick_compiler_add_resources(client_UI_SRCS ../../resources.qrc ${CMAKE_SOURCE_DIR}/theme.qrc) +else() + qt_add_resources(client_UI_SRCS ../../resources.qrc ${CMAKE_SOURCE_DIR}/theme.qrc) +endif() + set(client_SRCS accountmanager.cpp accountsettings.cpp @@ -232,7 +229,6 @@ IF( WIN32 ) ENDIF() set( final_src - ${MIRALL_RC_SRC} ${client_SRCS} ${client_UI_SRCS} ${guiMoc}