From b67a063665129f8b491164857a7e5f2ef309c819 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Fri, 18 Aug 2023 14:01:03 +0300 Subject: [PATCH] Enable code signing on mac. --- qbs/imports/VApp.qbs | 2 ++ qbs/imports/VDynamicLib.qbs | 2 ++ qbs/modules/buildconfig/buildconfig.qbs | 4 ++++ qbs/modules/macdeployqt/macdeployqt.qbs | 5 +++++ valentina.qbs | 1 + 5 files changed, 14 insertions(+) diff --git a/qbs/imports/VApp.qbs b/qbs/imports/VApp.qbs index 39f9b11f7..d4989db12 100644 --- a/qbs/imports/VApp.qbs +++ b/qbs/imports/VApp.qbs @@ -8,6 +8,8 @@ CppApplication { Properties { condition: qbs.targetOS.contains("macos") cpp.minimumMacosVersion: buildconfig.minimumMacosVersion + codesign.enableCodeSigning: buildconfig.enableCodeSigning + codesign.codesignFlags: ["--deep"] } Properties { diff --git a/qbs/imports/VDynamicLib.qbs b/qbs/imports/VDynamicLib.qbs index 1cba799d2..9f8f751bc 100644 --- a/qbs/imports/VDynamicLib.qbs +++ b/qbs/imports/VDynamicLib.qbs @@ -14,6 +14,8 @@ VLib { Properties { condition: qbs.targetOS.contains("macos") bundle.identifierPrefix: 'ua.com.smart-pattern' + codesign.enableCodeSigning: buildconfig.enableCodeSigning + codesign.codesignFlags: ["--deep"] } Properties { diff --git a/qbs/modules/buildconfig/buildconfig.qbs b/qbs/modules/buildconfig/buildconfig.qbs index 8d7a93ba5..adddfbf43 100644 --- a/qbs/modules/buildconfig/buildconfig.qbs +++ b/qbs/modules/buildconfig/buildconfig.qbs @@ -45,6 +45,10 @@ Module { return project.enableConan; } + readonly property bool enableCodeSigning : { + return project.enableSigning; + } + property string libDirName: "lib" property string appTarget diff --git a/qbs/modules/macdeployqt/macdeployqt.qbs b/qbs/modules/macdeployqt/macdeployqt.qbs index d4f2e847f..bb09bd68a 100644 --- a/qbs/modules/macdeployqt/macdeployqt.qbs +++ b/qbs/modules/macdeployqt/macdeployqt.qbs @@ -32,6 +32,8 @@ Module { property stringList targetApps: undefined + property string signingIdentity: "-" // ad-hoc + Rule { // alwaysRun: true multiplex: true @@ -76,6 +78,9 @@ Module { if (product.macdeployqt.libpath !== undefined) cmdArgs.push("-libpath", product.macdeployqt.libpath); + if (product.buildconfig.enableCodeSigning) + cmdArgs.push("-codesign=" + product.macdeployqt.signingIdentity); + if (product.macdeployqt.targetApps !== undefined && !product.buildconfig.enableMultiBundle && product.primaryApp) { product.macdeployqt.targetApps.forEach(function(targetApp) { diff --git a/valentina.qbs b/valentina.qbs index d26a1818c..49fc1f9a7 100644 --- a/valentina.qbs +++ b/valentina.qbs @@ -9,6 +9,7 @@ Project { property bool enableConan: false property string minimumMacosVersion: undefined property stringList conanProfiles: [] + property bool enableSigning: true // Temporary probe until qbs doesn't support conan 2.0 ConanfileProbe {