[CMake] Debug/Release configurations for codeblocks ?

Eric Noulard eric.noulard at gmail.com
Mon Jul 26 14:32:06 EDT 2010


2010/7/26 Olaf van der Spek <olafvdspek at gmail.com>:
> On Mon, Jul 26, 2010 at 7:23 PM, Michael Wild <themiwi at gmail.com> wrote:
>> OK, it's like this: CMake has various "backends" which generate the native build tool. For MSVC, GNU Make, nmake, Xcode etc. Now, some of these backends are "multi-config", such as the ones for MSVC and Xcode. That means, the same project file can generate multiple configurations (e.g. Debug, Release or RelWithDebugInfo). Others, the Makefile based ones (GNU Make and nmake) are "single-config", where the build system generated by CMake can only build a single configuration which the user selected when configuring the build tree.
>>
>> Since the CodeBlocks generator is actually the "GNU Makefiles" generator with the addition of the CodeBlocks project file, it inherits these characteristics and can only build a single configuration.
>>
>> Hope this clears things a bit.
>
> Thanks a lot.
> So the Code Blocks gen isn't native? Just uses a makefile for the
> build system. That explains it.

It depends on what you mean by "native".
The project file for Code::Blocks is generated by CMake but
Code::Blocks may be used with "external" makefile(s)
which are generated by CMake too.

You have the same scheme with the Eclipse CDT4 generator.
Those generatord are "Extra" generator which relies on the Makefile generator.

You may have a look at the source for:

CMake/Source/cm[Local|Global|Extra]<XXX>Generator.[h|cxx]

XXX being [part of] the generator name the user is used to know.

"Extra" means the generator depends on another generator
I don't know the design idea behind Local and Global.


-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org


More information about the CMake mailing list