Yeah, we ran into that with CVS with a couple of classes that we wanted to share between several CVS modules. We solved that by using symlinks in the CVS repository, so that all the different modules using the common class pull it from one spot. It's a pain to maintain it though, whenever you add a new CVS modules that needs to use that shared class, you have to check the current version in as part of the new modules, then go into CVS and replace the ,v file with a symbolic link pointing to the real file. Naturally, we've forgotten to do that from time to time, which causes a fork, which then needs to be merged back in. Not ideal...
Sean -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Coda Highland Sent: Monday, August 10, 2009 6:16 PM To: [email protected] Subject: Re: [Qt-creator] QtCreator analogue to Visual Studio "solution" Which reminds me: if you're using svn (or git) externals, you could have appFoo and appBar include myLib as externals; the disadvantage here is that you end up with two separate working copies. /s/ Adam On Mon, Aug 10, 2009 at 5:14 PM, Coda Highland<[email protected]> wrote: > SVN makes this fairly easy -- it's pretty much the only redeeming > feature of SVN -- because you can just check out any subdirectory in > the SVN root. You'd set up your tree like: > > /trunk/ > /trunk/project.pro > /trunk/myLib/ > /trunk/appFoo/ > /trunk/appBar/ > > As far as I know, CVS can't do this. > > I think git might have support for external modules similar to SVN's > externals; it just downloads another repository as a subdirectory. > > I don't know of ANY systems that support conditional downloading, but > I could be wrong. > > /s/ Adam > > On Mon, Aug 10, 2009 at 4:30 PM, Murphy, Sean M.<[email protected]> > wrote: >> Out of curiosity, when you have the setup you've described below, how do you >> usually set up your CVS/SVN/git repositories? >> >> Right now, we've got it set up where myLib, appFoo, and appBar are 3 >> different CVS modules, with no CVS dependencies between them. So typically >> the develop checks out myLib, and then checks out whichever app they want to >> build next to it, like so: >> >> <parent dir> >> - myLib dir >> - appFoo dir >> - appBar dir >> >> So appFoo.pro and appBar.pro both include ../myLib and link to >> ../myLib/myLib.so( or dll, dylib as needed by platform) >> >> I'm not sure what's the "preferred" way of setting up the version control >> repositories under the setup you're describing below... I wouldn't mind if >> checking out appFoo or appBar would automatically check out myLib as well, >> but I don't really want developers to have to check out all 3, there are >> some developers that only work on one app or the other. >> >> Sean >> >> -----Original Message----- >> From: [email protected] >> [mailto:[email protected]] On Behalf Of Coda Highland >> Sent: Monday, August 10, 2009 3:40 PM >> To: [email protected] >> Subject: Re: [Qt-creator] QtCreator analogue to Visual Studio "solution" >> >> Actually, the subdirs project type is quite a bit more powerful than >> that, but it's poorly documented. Try something more like this in a >> single .pro file: >> >> TEMPLATE = subdirs >> SUBDIRS = sub_lib sub_foo sub_bar >> sub_lib.subdir = myLib >> sub_foo.subdir = appFoo >> sub_foo.depends = sub_lib >> sub_bar.subdir = appBar >> sub_bar.depends = sub_lib >> >> As far as I know, Qt Creator does properly parse this and will present >> all three subprojects as a hierarchical tree; you can build any of the >> three subprojects individually (with dependency tracking, so building >> appFoo will build myLib if needed) or build them all, and you can >> choose which app to run. >> >> /s/ Adam >> >> On Mon, Aug 10, 2009 at 2:09 PM, Murphy, Sean M.<[email protected]> >> wrote: >>> I posted this on Qt-Interest, but didn't get any responses, so I thought >>> I'd try over here: >>> >>> I'm switching a bunch of Qt apps I've written over from Visual Studio, >>> to Qt Creator and I'm a little stumped on how to handle a Qt shared >>> library with each Qt app with respect to how Qt Creator handles project >>> files. >>> >>> So say I have the following setup: >>> myLib - library of common classes used by all apps >>> appFoo - one application based on myLib >>> appBar - a second application based on myLib >>> >>> Originally I'd have two solutions, appFoo.sln and appBar.sln, each >>> containing two Visual Studio .vcproj files, one project for the >>> application (i.e. appFoo.vcproj), and one for the shared library >>> (myLib.vcproj). Then, when building the solution it would check >>> dependencies for both projects, building each as necessary. More >>> importantly, when debugging I could debug both appFoo and myLib. This >>> debugging feature is what I'm really trying to regain in Qt Creator - to >>> build able to step into the code of both the application and the shared >>> library. >>> >>> I have working .pro files for everything (i.e., myLib.pro, appFoo.pro, >>> appBar.pro) and I can build everything separately, but if I open one of >>> those individual .pro files, I don't see the application AND library >>> files, just one or the other. >>> >>> Should I be creating a "solution" .pro file for each app, and use >>> SUBDIRS? Something like: >>> >>> appFooSolution.pro: >>> TEMPLATE = subdirs >>> SUBDIRS = appFoo myLib >>> >>> appBarSolution.pro: >>> TEMPLATE = subdirs >>> SUBDIRS = appBar myLib >>> >>> Sean >>> >>> _______________________________________________ >>> Qt-creator mailing list >>> [email protected] >>> http://lists.trolltech.com/mailman/listinfo/qt-creator >>> >> >> _______________________________________________ >> Qt-creator mailing list >> [email protected] >> http://lists.trolltech.com/mailman/listinfo/qt-creator >> >> _______________________________________________ >> Qt-creator mailing list >> [email protected] >> http://lists.trolltech.com/mailman/listinfo/qt-creator >> > _______________________________________________ Qt-creator mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt-creator _______________________________________________ Qt-creator mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt-creator
