diff options
Diffstat (limited to 'qbs-resources')
-rw-r--r-- | qbs-resources/imports/QbsApp.qbs | 2 | ||||
-rw-r--r-- | qbs-resources/imports/QbsAutotest.qbs | 1 | ||||
-rw-r--r-- | qbs-resources/imports/QbsFunctions/functions.js | 2 | ||||
-rw-r--r-- | qbs-resources/imports/QbsLibrary.qbs | 16 | ||||
-rw-r--r-- | qbs-resources/imports/QbsProduct.qbs | 3 | ||||
-rw-r--r-- | qbs-resources/modules/qbsbuildconfig/qbsbuildconfig.qbs | 26 |
6 files changed, 43 insertions, 7 deletions
diff --git a/qbs-resources/imports/QbsApp.qbs b/qbs-resources/imports/QbsApp.qbs index 530e9fddb..a6a53048e 100644 --- a/qbs-resources/imports/QbsApp.qbs +++ b/qbs-resources/imports/QbsApp.qbs @@ -13,7 +13,7 @@ QbsProduct { Group { fileTagsFilter: product.type qbs.install: true - qbs.installDir: project.appInstallDir + qbs.installDir: qbsbuildconfig.appInstallDir } Group { name: "logging" diff --git a/qbs-resources/imports/QbsAutotest.qbs b/qbs-resources/imports/QbsAutotest.qbs index 43db835a9..6e955971c 100644 --- a/qbs-resources/imports/QbsAutotest.qbs +++ b/qbs-resources/imports/QbsAutotest.qbs @@ -7,6 +7,7 @@ QtApplication { name: "tst_" + testName Depends { name: "Qt.test" } Depends { name: "qbscore" } + Depends { name: "qbsbuildconfig" } cpp.includePaths: "../../../src" cpp.cxxLanguageVersion: "c++11" destinationDirectory: "bin" diff --git a/qbs-resources/imports/QbsFunctions/functions.js b/qbs-resources/imports/QbsFunctions/functions.js index f7759d0b5..7ffebd147 100644 --- a/qbs-resources/imports/QbsFunctions/functions.js +++ b/qbs-resources/imports/QbsFunctions/functions.js @@ -1,4 +1,4 @@ -function qbsVersion() { return "1.5.2"; } +function qbsVersion() { return "1.6.0"; } function versionIsAtLeast(actualVersion, expectedVersion) { diff --git a/qbs-resources/imports/QbsLibrary.qbs b/qbs-resources/imports/QbsLibrary.qbs index 4d05ea004..b8649b2cc 100644 --- a/qbs-resources/imports/QbsLibrary.qbs +++ b/qbs-resources/imports/QbsLibrary.qbs @@ -7,9 +7,9 @@ QbsProduct { version: QbsFunctions.qbsVersion() type: Qt.core.staticBuild ? "staticlibrary" : "dynamiclibrary" targetName: (qbs.enableDebugCode && qbs.targetOS.contains("windows")) ? (name + 'd') : name - destinationDirectory: qbs.targetOS.contains("windows") ? "bin" : project.libDirName + destinationDirectory: qbs.targetOS.contains("windows") ? "bin" : qbsbuildconfig.libDirName cpp.defines: base.concat(type == "staticlibrary" ? ["QBS_STATIC_LIB"] : ["QBS_LIBRARY"]) - cpp.installNamePrefix: "@rpath" + cpp.sonamePrefix: qbs.targetOS.contains("darwin") ? "@rpath" : undefined cpp.visibility: "minimal" cpp.cxxLanguageVersion: "c++11" bundle.isBundle: false @@ -17,12 +17,20 @@ QbsProduct { Group { fileTagsFilter: product.type.concat("dynamiclibrary_symlink") qbs.install: true - qbs.installDir: project.libInstallDir + qbs.installDir: qbsbuildconfig.libInstallDir } + Group { + fileTagsFilter: ["dynamiclibrary_import"] + qbs.install: true + qbs.installDir: qbsbuildconfig.importLibInstallDir + } + Export { Depends { name: "cpp" } Depends { name: "Qt"; submodules: ["core"] } - cpp.rpaths: project.libRPaths + Depends { name: "qbsbuildconfig" } + + cpp.rpaths: qbsbuildconfig.libRPaths cpp.includePaths: [product.sourceDirectory] cpp.defines: product.type === "staticlibrary" ? ["QBS_STATIC_LIB"] : [] } diff --git a/qbs-resources/imports/QbsProduct.qbs b/qbs-resources/imports/QbsProduct.qbs index de5f7f12a..305e4c755 100644 --- a/qbs-resources/imports/QbsProduct.qbs +++ b/qbs-resources/imports/QbsProduct.qbs @@ -2,8 +2,9 @@ import qbs import QbsFunctions Product { + Depends { name: "qbsbuildconfig" } Depends { name: "Qt.core" } - property string minimumQtVersion: "5.1.0" + property string minimumQtVersion: "5.4.0" cpp.defines: { var res = ["QT_NO_CAST_FROM_ASCII", "QT_NO_PROCESS_COMBINED_ARGUMENT_START"]; if (qbs.toolchain.contains("msvc")) diff --git a/qbs-resources/modules/qbsbuildconfig/qbsbuildconfig.qbs b/qbs-resources/modules/qbsbuildconfig/qbsbuildconfig.qbs new file mode 100644 index 000000000..001882b1f --- /dev/null +++ b/qbs-resources/modules/qbsbuildconfig/qbsbuildconfig.qbs @@ -0,0 +1,26 @@ +import qbs + +Module { + property bool enableUnitTests: false + property bool enableProjectFileUpdates: false + property bool enableRPath: true + property bool installApiHeaders: true + property string libDirName: "lib" + property string appInstallDir: "bin" + property string libInstallDir: qbs.targetOS.contains("windows") ? "bin" : libDirName + property string importLibInstallDir: libDirName + property string libexecInstallDir: "libexec/qbs" + property string relativeLibexecPath: "../" + libexecInstallDir + property string relativePluginsPath: "../" + libDirName + property string relativeSearchPath: ".." + property stringList libRPaths: { + if (!enableRPath) + return undefined; + if (qbs.targetOS.contains("linux")) + return ["$ORIGIN/../" + libDirName]; + if (qbs.targetOS.contains("macos")) + return ["@loader_path/../" + libDirName] + } + property string resourcesInstallDir: "" + property string pluginsInstallDir: libDirName +} |