diff --git a/qbs/imports/VToolApp.qbs b/qbs/imports/VToolApp.qbs index cf0c4b197..df7f0b948 100644 --- a/qbs/imports/VToolApp.qbs +++ b/qbs/imports/VToolApp.qbs @@ -9,6 +9,11 @@ VApp { installDir: buildconfig.installAppPath installDebugInformation: true + Properties { + condition: buildconfig.enableAppImage && qbs.targetOS.contains("unix") && !qbs.targetOS.contains("macos") + cpp.dynamicLibraries: ["icudata", "icui18n", "icuuc"] + } + Group { name: "freedesktop" prefix: FileInfo.joinPaths(project.sourceDirectory, "dist", FileInfo.pathSeparator()) diff --git a/qbs/modules/buildconfig/buildconfig.qbs b/qbs/modules/buildconfig/buildconfig.qbs index 2e6c5b783..ab0cec87d 100644 --- a/qbs/modules/buildconfig/buildconfig.qbs +++ b/qbs/modules/buildconfig/buildconfig.qbs @@ -20,6 +20,8 @@ Module { // distributions which provides not enough space on build servers. property bool enablePCH: true + property bool enableAppImage: false + Depends { name: "ccache"; } // Use this property to disable the use of ccache. @@ -109,6 +111,9 @@ Module { if (qbs.buildVariant !== "debug") defines.push('V_NO_ASSERT'); + if (enableAppImage && qbs.targetOS.contains("unix") && !qbs.targetOS.contains("macos")) + defines.push('APPIMAGE'); + return defines; } diff --git a/src/app/puzzle/puzzle.qbs b/src/app/puzzle/puzzle.qbs index e79974c73..5003ad090 100644 --- a/src/app/puzzle/puzzle.qbs +++ b/src/app/puzzle/puzzle.qbs @@ -11,11 +11,6 @@ VToolApp { Depends { name: "VWidgetsLib" } Depends { name: "FervorLib" } - Properties { - condition: cpp.defines.contains("APPIMAGE") - cpp.dynamicLibraries: ["icudata", "icui18n", "icuuc"] - } - name: "Puzzle" buildconfig.appTarget: qbs.targetOS.contains("macos") ? "Puzzle" : "puzzle" targetName: buildconfig.appTarget diff --git a/src/app/tape/tape.qbs b/src/app/tape/tape.qbs index 6cf8fa952..e00f682ef 100644 --- a/src/app/tape/tape.qbs +++ b/src/app/tape/tape.qbs @@ -13,11 +13,6 @@ VToolApp { Depends { name: "VWidgetsLib"; } Depends { name: "VToolsLib"; } - Properties { - condition: cpp.defines.contains("APPIMAGE") - cpp.dynamicLibraries: ["icudata", "icui18n", "icuuc"] - } - name: "Tape" buildconfig.appTarget: qbs.targetOS.contains("macos") ? "Tape" : "tape" targetName: buildconfig.appTarget diff --git a/src/app/valentina/valentina.qbs b/src/app/valentina/valentina.qbs index 1e6192869..55befd397 100644 --- a/src/app/valentina/valentina.qbs +++ b/src/app/valentina/valentina.qbs @@ -21,11 +21,6 @@ VToolApp { required: false } - Properties { - condition: cpp.defines.contains("APPIMAGE") - cpp.dynamicLibraries: ["icudata", "icui18n", "icuuc"] - } - name: "Valentina" buildconfig.appTarget: qbs.targetOS.contains("macos") ? "Valentina" : "valentina" targetName: buildconfig.appTarget diff --git a/src/libs/vmisc/vmisc.qbs b/src/libs/vmisc/vmisc.qbs index abd9b8617..9fe506e73 100644 --- a/src/libs/vmisc/vmisc.qbs +++ b/src/libs/vmisc/vmisc.qbs @@ -44,7 +44,7 @@ VLib { Group { name: "AppImage" - condition: cpp.defines.contains("APPIMAGE") + condition: buildconfig.enableAppImage && qbs.targetOS.contains("unix") && !qbs.targetOS.contains("macos") files: [ "binreloc.h", "appimage.h",