|Managed Make multiple targets Q [message #127601]
||Wed, 17 November 2004 16:06
| David Jung
Registered: July 2009
I have a (beginner) question about Managed Make projects.|
I have an existing large project that contains multiple directories that
need to be build as shared libraries and several executable targets that
It would be easiest to have these as a single project, as they share many
of the same external includes and libraries.
It is possible (and how - since I've failed to figure it out) to have a
Make project that has multiple targets, some being shared libraries and
I'm running under Linux with fairly standard g++ toolchain. Currently,
the project uses boost-build (which I think better), but it will be easier
for users if I move to good-'ol make. I thought it would be a good idea
to make that move in conjunction with my move to Eclipse/CDT. (I've grown
fond of Eclipse through several Java & C# based projects).
I couldn't find my answer in the newsgroup history or in the guide/FAQ etc.
|Re: Managed Make multiple targets Q [message #873705 is a reply to message #873155]
||Fri, 18 May 2012 18:22
| Fred Richardson
Registered: May 2012
Okay, I can partially answer my own question.|
With a managed build project, you can specify multiple build configurations from the properties dialog.
For a given build configuration you can specify whether it's a dynamic library, static library or executable (under "C/C++ Build -> Settings -> Build Artifact" tab).
By default, all the source code in the project is slurped into the current build. You can exclude a source file by right clicking on it and selecting "resource configuration -> exclude from build".
Note nearly all the configurations in the "C/C++ Build" and "C/C++ General" or tied to the selected build configuration at the top of the dialog box.
You can add references so that a static library must be built before the executable that requires it under "C/C++ General -> Paths and Symbols -> References" tab. Oddly you can only select one sub-reference beneath a given project.
So far so good, though I can imagine this is quite tedious if you have say 20 binaries in a package. If one is committed to this, then one could make a master binary with entry points ala git, cvs or svn (e.g. "<master-binary> <command> <options>").
Powered by FUDForum
. Page generated in 0.02624 seconds