Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
About C::B project file...
mandrav:
The codeblocks.cbp file is currently like a makefile: it contains a separate target for each module and builds all of the core C::B.
This is one way to use.
We could use another way though:
We could create a separate project for each module. Basically make each target contained in codeblocks.cbp a separate project and wrap all projects in a workspace.
We could configure the new projects' targets (configurations) like this:
[*] Unicode WX DLL - Debug
[*] Unicode WX DLL - Release
[*] Unicode WX DLL - Profile
[*] Ansi WX DLL - Debug
[*] Ansi WX DLL - Release
[*] Ansi WX DLL - Profile
[/list]
So, if anyone wanted to work only on a specific plugin, he/she could open the plugin's project and work on it. No extra burden. And choose which wx DLL to use (unicode/ansi).
Or if a developer wanted to profile the code-completion plugin, he/she could enable profiling only for this plugin (actually profiling must only be enabled for one module or else gmon.out gets overwritten).
So, what do you think? Should we make those changes or should we leave it as it is now?
(now that I think of it, we could have both ways)
takeshimiya:
Well, it isn't the way MSVC uses?
Having projects each with one target, and configurations (ie. Release and Debug). And having all those projects inside a Workspace.
But I fear, it is that possible without inter-project dependencies?
mandrav:
--- Quote from: Takeshi Miya on December 06, 2005, 09:30:11 am ---Well, it isn't the way MSVC uses?
--- End quote ---
Yes, it is. People are used to this way, whether we like it or not.
--- Quote from: Takeshi Miya on December 06, 2005, 09:30:11 am ---But I fear, it is that possible without inter-project dependencies?
--- End quote ---
Well, the only form of inter-project dependencies available currently is the order of the projects in the workspace (builds top-to-bottom). So a simple "Build workspace" can build it since we don't have special dependencies currently.
I have no problem with the way it is now. I just want to get other people views :)
killerbot:
I am in favor of MSVC style. Woops, a pro windows comment. :oops:
Locality and hiding of information, modular approach.
Each module has it own cbp file, there's no need when working on a certain plug-in you need to see the stuf from other plug-ins, core code, etc .. (As a side -effect no neet to parse all that other data also for eg code completion).
Makes it easy to create a special build for that 1 module (eg : special logging, profiling, ...).
Probably it's like the coding style, 1 function does only 1 thing. Plug-in X cbp does the build stuff for X and not for Y.
Adds off course dependency problem of projects.
Lieven
David Perfors:
I don't have problems with the way it is now, but I think it is an improvement to give ALL plugins a sepperate projectfile and a workspace to include Code::Blocks main app and plugins. By doing this it already is easier to work on a specific plugin.
isn't there a possibility to give targets targets? so you have:
* sdk
* Unicode WX DLL - Debug
* Unicode WX DLL - Release
* Unicode WX DLL - Profile
* Ansi WX DLL - Debug
* Ansi WX DLL - Release
* Ansi WX DLL - Profile
* src
* etc.
Because I also like the idea to make diffrent builts (debug / release, ansi / unicode)
Navigation
[0] Message Index
[#] Next page
Go to full version