Open GoogleCodeExporter opened 9 years ago
The only thing in the source tree generated by fbgen -- and the only thing you
need -- is your project directory in /projects/<project name>
So if you create a plugin called MyCoolPlugin, it will be placed in
projects/MyCoolPlugin and that is the only directory that you need to save.
The other files you see are in build/ and those are generated each time you run
the prep script, which runs cmake. The vcproj files should never be modified
directly; instead, you should use the cmake project files (CMakeLists.txt,
PluginConfig.cmake, and projectDef.cmake).
We realize that this is a change for most developers -- particularly windows
developers. Please just trust us that we have really looked into every other
way that we could find of doing it, and this was the way that was simplest for
everyone and allowed the most flexibility. If you take the time to learn to
use the cmake project files properly, it is really not difficult at all to keep
things going, and making things cross platform is hugely simplified. If you
don't care about cross platform -- well, sorry, we do, and we have to make the
system support it. =]
Thanks for the feedback. I'll use this issue to create an entry on the FAQ. If
you have any other questions, you may post them here, but I recommend going to
the dev list (which is also a users list).
Original comment by taxilian
on 18 Aug 2010 at 3:50
After re-reading your comment, there is another step that we have discussed,
but nobody has had time to implement, that would probably help you. It should
be relatively easy to add a feature to be able to specify the location of the
projects/ dir so that it doesn't have to be in the firebreath source tree (and
the build/ dir as well, for that matter). All we need is for someone to decide
how that should work and take the hour or two necessary to implement it. I'm
willing to help you with it if you would like this feature and are willing to
do a little legwork. Otherwise, I'll get to it, but it'll be a little while as
I'm swamped on another project.
You can find me on irc, on the mailing list, via google talk @
taxilian@gmail.com, or any number of other ways.
Original comment by taxilian
on 18 Aug 2010 at 3:59
I think the knowledge that everything is autogenerated except for what's in the
project/ directory is good enough for me. However you do still need some
directories that are present in the source tree, such as the top level cmake/
directory as well as parts of the src/ directory. Could that theoretically be
installed in a /usr or Program Files directory as a 'library' of sorts, and be
able to easily reconfigure the project to look in that directory for all the
cmake / extra source files that are needed? Or is there already a set of
environment variables that can control that? If so, that would be immensely
useful to me.
Thanks for the quick response.
Original comment by joshua.m...@gmail.com
on 18 Aug 2010 at 5:53
you need pretty much everything in the firebreath/ source tree to build,
however you can just get that from firebreath's source control on each machine.
That would be the advantage to adding the feature so that you can specify the
location of the projects/ and build/ directories is that it would make it
possible to have the firebreath source tree seperate from the projects/
directory where your code lives.
Firebreath is a framework, not a library; you can't just include it, it's more
the other way around. You build firebreath and tell it where your project is
to include that.
Original comment by taxilian
on 18 Aug 2010 at 1:39
Right, well my company has this policy of having a 'toolchain' repository that
everyone must have checked out on their system. This toolchain could definitely
include the firebreath source. Let me try and make the scenario I'd like to
make possible very clear:
1. I generate a project with fbgen.py, output result is in projects/MyPlugin
2. I move MyPlugin to my source control under e.g. C:/src/myproj/MyPlugin
3. Firebreath is checked in to a DIFFERENT area, e.g.
C:/toolchain/noarch/firebreath-1.1.1
4. Somehow, I would like to be able to successfully generate the project for
MyPlugin while referencing firebreath in the toolchain directory, something
like:
C:/toolchain/noarch/firebreath-1.1.1/prep2008.cmd -in C:/src/myproj/MyPlugin
-out C:/src/myproj/build/MyPlugin
...then I can build it:
vcbuild C:/src/myproj/build/MyPlugin/MyPlugin.sln 'MinSizeRel|Win32'
Is *this* manner of separation possible and is that the feature you are
suggesting I could help with? It kind of sounds like it, but I'd like to make
sure.
Thanks for your helpful responses so far!
Original comment by joshua.m...@gmail.com
on 18 Aug 2010 at 3:23
This is exactly the type of seperation that would be possible as soon as
someone takes the time to implement it. We've discussed the need several times
on the list, but nobody has had time to do it yet.
Original comment by taxilian
on 18 Aug 2010 at 3:45
Okay, then can we reopen this issue to track the development of that feature?
I may be able to help, but not for another month or two.
Original comment by joshua.m...@gmail.com
on 18 Aug 2010 at 9:31
I have created a new issue for this and marked this as duplicate for that issue.
Original comment by taxilian
on 18 Aug 2010 at 9:40
Original issue reported on code.google.com by
joshua.m...@gmail.com
on 18 Aug 2010 at 1:54