import qbs import "tools/qbs/GitRepo.js" as GitRepo import qbs.Probes Project { id: project minimumQbsVersion: "1.8.0" property bool gitVersion: true // The following define makes your compiler emit warnings if you use any // feature of Qt which as been marked as deprecated (the exact warnings // depend on your compiler). property bool deprecatedWarnings: true // The code also fails to compile if you use APIs deprecated before Qt 5.9. property string deprecatedBefore: "0x050900" references: [ "src/lib/bookmarks/bookmarks.qbs", "src/lib/downloads/downloads.qbs", "src/lib/navigation/navigation.qbs", "lib/settings/settings.qbs", ] Probes.PkgConfigProbe { id: libconfig name: "libconfig++" } Probe { id: git property string version: "" property string describe: "" configure: { if(project.gitVersion) { var meta = GitRepo.read(project.sourceDirectory); version = meta.version; found = true; } } } CppApplication { id: poi name: "poi" Depends { name: "Qt" versionAtLeast: "5.7.1" submodules: ["core", "widgets", "webenginecore", "webenginewidgets", "printsupport"] } Depends { name: "navigation" } Depends { name: "bookmarks" } Depends { name: "downloads" } Depends { name: "settings" } Depends { name: "settingsDialog" } // global includes cpp.includePaths: ['src', 'src/lib', 'lib'] // global defines cpp.defines: { var defs = []; if(project.deprecatedWarnings) { defs.push("QT_DEPRECATED_WARNINGS", "QT_DISABLE_DEPRECATED_BEFORE="+project.deprecatedBefore); } return defs; } cpp.cxxLanguageVersion: "c++17" cpp.linkerFlags: libconfig.libs Group { name: "main" files: [ "src/main.cpp", ] cpp.defines: outer.concat(["GIT_VERSION=\""+git.version+"\""]) } Group { name: "Browser" files: [ "src/browser.cpp", "src/browser.h", "src/singleapplication.cpp", "src/singleapplication.h", ] } Group { name: "Main Window" files: [ "src/mainwindow.cpp", "src/mainwindow.h", "src/mainwindow.ui", "src/forms/aboutdialog.cpp", "src/forms/aboutdialog.h", "src/forms/aboutdialog.ui", "src/forms/searchform.cpp", "src/forms/searchform.h", "src/forms/searchform.ui", "src/webengine/webpage.cpp", "src/webengine/webpage.h", "src/webengine/webview.cpp", "src/webengine/webview.h", "src/widgets/loadingbar.cpp", "src/widgets/loadingbar.h", "src/widgets/mainwindowmenubar.cpp", "src/widgets/mainwindowmenubar.h", "src/widgets/mainwindowtabbar.cpp", "src/widgets/mainwindowtabbar.h", ] } Group { name: "Request Filter" files: [ "src/webengine/hostrule.cpp", "src/webengine/hostrule.h", "src/webengine/urlinterceptor.cpp", "src/webengine/urlinterceptor.h", ] } Group { name: "Profile" files: [ "src/forms/cookiesform.cpp", "src/forms/cookiesform.h", "src/forms/cookiesform.ui", "src/forms/profileview.cpp", "src/forms/profileview.h", "src/forms/profileview.ui", "src/webengine/webengineprofile.cpp", "src/webengine/webengineprofile.h", ] } files: [ "data/resources.qrc", ] Group { name: "Executable" fileTagsFilter: product.type qbs.install: true qbs.installDir: "bin" } } // CppApplication poi }