deepin-control-center/407.patch

95 lines
3.1 KiB
Diff

From 2e2ae848e22037c92da1d4c0522675ac61fa4597 Mon Sep 17 00:00:00 2001
From: rewine <lhongxu@outlook.com>
Date: Wed, 16 Mar 2022 16:38:18 +0800
Subject: [PATCH] feat: add build flag to disable authentication module
Log: authentication module make error in other distribution
Task: https://github.com/linuxdeepin/developer-center/issues/2245
---
src/frame/CMakeLists.txt | 15 ++++++++++++++-
src/frame/window/mainwindow.cpp | 6 ++++++
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/src/frame/CMakeLists.txt b/src/frame/CMakeLists.txt
index 5f78f1ec0c..32eb467657 100644
--- a/src/frame/CMakeLists.txt
+++ b/src/frame/CMakeLists.txt
@@ -31,6 +31,8 @@ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX /usr)
endif ()
+option(DISABLE_AUTHENTICATION "disable authentication module" OFF)
+
set(DEFINED_LIST
DISABLE_OPACITY_ANIMATION
DISABLE_CLOUD_SYNC
@@ -536,6 +538,10 @@ set(SRCS
${NOTIFICATION_FILES}
)
+if (DEFINED DISABLE_AUTHENTICATION)
+ list(REMOVE_ITEM SRCS ${AUTHENTICATION_FILES})
+endif()
+
set(QRC
frame.qrc
modules/wacom/wacom.qrc
@@ -560,6 +566,10 @@ set(QRC
window/modules/update/dccv20update.qrc
)
+if (DEFINED DISABLE_AUTHENTICATION)
+ list(REMOVE_ITEM QRC modules/authentication/authentication.qrc)
+endif()
+
# Find the library
find_package(PkgConfig REQUIRED)
find_package(DtkWidget REQUIRED)
@@ -604,7 +614,10 @@ file(GLOB DCONFIG_FILES "../../configs/org.deepin.dde.control-center*.json")
dconfig_meta_files(APPID dde-control-center BASE ../../configs FILES ${DCONFIG_FILES})
set(DEEPIN_PW_CHECK libdeepin_pw_check.so)
-set(SHMN_VIDEO libdareader.so)
+
+if (NOT DEFINED DISABLE_AUTHENTICATION)
+ set(SHMN_VIDEO libdareader.so)
+endif()
function(add_build_macro macro)
string(TOUPPER ${macro} macro)
diff --git a/src/frame/window/mainwindow.cpp b/src/frame/window/mainwindow.cpp
index bc902844f9..097f826ca7 100644
--- a/src/frame/window/mainwindow.cpp
+++ b/src/frame/window/mainwindow.cpp
@@ -18,7 +18,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#ifndef DISABLE_AUTHENTICATION
#include "modules/authentication/loginoptionsmodule.h"
+#endif
#include "modules/accounts/accountsmodule.h"
#include "modules/bluetooth/bluetoothmodule.h"
#include "modules/commoninfo/commoninfomodule.h"
@@ -312,7 +314,9 @@ void MainWindow::initAllModule(const QString &m)
return;
m_bInit = true;
+#ifndef DISABLE_AUTHENTICATION
using namespace authentication;
+#endif
using namespace sync;
using namespace datetime;
using namespace defapp;
@@ -332,7 +336,9 @@ void MainWindow::initAllModule(const QString &m)
using namespace notification;
m_modules = {
+ #ifndef DISABLE_AUTHENTICATION
{ new LoginOptionsModule(this), tr("Biometric Authentication")},
+ #endif
{ new AccountsModule(this), tr("Accounts")},
{ new DisplayModule(this), tr("Display")},
{ new TouchscreenModule(this), tr("Touch Screen")},