On 05/27/2014 05:36 PM, Kevin Chaves wrote: > > Possibly. I guess it depends on what exactly you want to do. > > One example is to build qwt and export the paths to the headers and > .lib. After this initial build we shouldn't have to worry about building > it again in the project tree. The applications that use it need to be > configured to link to the static libraries. Now apply that example to a > bunch of third party libraries that aren't going to be touched on a > regular basis.
So I suppose something like this could work: StaticLibrary { // name etc. Depends { name: "Qt.core" } Transformer { Artifact { fileName: "xyz" // Can be hardcoded. Does not determine anything in the case, but needs to match whatever make produces. fileTags: "staticlibrary" } prepare: { var qmakeCmd = new Command(Qt.core.binPath + "/qmake", "["-r", <path to foreign project>]); qmakeCmd.description = "qmake" qmakeCmd.workingDirectory = product.buildDirectory + product.name; var makeCmd = new Command("make", ["-s"]); makeCmd.workingDirectory = qmakeCmd.workingDirectory; return [qmakeCmd, makeCmd]; } } Export { Depends { name: "cpp" } cpp.includes: [<path to headers>] } } Completely untested, but something like this would be my first attempt. Of course, if you want to do this for more than one product, you'd put the transformer into a module and make the location of the top-level project file and the headers properties of that module. Then a simple Depends { name: "<product name>" } in another qbs file should be enough, unless I'm overlooking some basic issue. Christian _______________________________________________ QBS mailing list QBS@qt-project.org http://lists.qt-project.org/mailman/listinfo/qbs