Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

Exotic Build Environment Support

(1/3) > >>

Stevo:
Hi,

This is my first post, the IDE looks nice, good work guys.

I would really love a build system that was DUMB.  IE, I give the file name of an executable or build script for each of the options in the Build menu (And if i don't give them, they are greyed out).  I think this would be a very useful build option.  I Never use "Managed" make files, and I don't use Make.  I use JAM plus shell scripts.  The problem is, IDE's all seem to assume everyone uses Make, or a managed environment.  Not everyone does.  With a Generic Build option, that can be set to execute scripts for the build options, exotic build environments like mine could be easily supported.

I have tried changing my "make" command to "jam", but i get the error "don't know how to make all" and "Makefile: No such file or directory", and that is because jam doesn't use "all" as an option or target, and it doesn't use a file called "Makefile" (at least with my build environment, and i shouldn't have to change my build environment to suit the IDE).

So I went into the code for C::B, and deleted the adding of "-f Makefile" and "all" to the Make command in the gcc compiler handler.  It now builds using Jam perfectly, and I can step through the errors and warnings produced in the "Build Messages" window.

There are other build systems people use, and Make just isn't suitable for every project, so something like this would allow anyone to "build" their project however they want.

What do you think?

Stevo

mandrav:
So, what exactly are the options used by this 'jam'?

rickg22:
http://www.perforce.com/jam/jam.html

Frankly, Stevo, you don't need to worry about makefiles or even jamfiles. If you add files to your project, Codeblocks just compiles them. It's all transparent. But it can generate a makefile.

And we hadn't heard about jam until you told us. I don't think it'd be easy to add support for jam - at least not after 1.0 is out.

thomas:

--- Quote from: rickg22 on November 01, 2005, 04:57:02 pm ---And we hadn't heard about jam until you told us.
--- End quote ---
I had  :)
It promises a lot, but I spent all Saturday afternoon and evening on it and did not manage to get it to work.
However, if you really get it to work, I believe it has to be quite good. I looked at it when the discussion about supporting concurrent compilation came up a few months ago. Apparently, jam supports everything we have been discussing out of the box.

takeshimiya:
It's another build system, and there are various forks of jam from different people (freetype, perforce, boost,...).
The best one is boost jam 2. I've used it a litte, but I don't like anymore the build systems that interferes the original build system.
They are good for in-house development, but not for redistributing, because the user is forced to download the build system to build the product.

The other approach (makefile generators) are good for in-house development, but the best for redistributing, like bakefile or cmake, because they use the build system of the user preference (an IDE, another compiler, etc).

Thanks to ABX, we'll probably have cbp project files output from bakefiles :D

Navigation

[0] Message Index

[#] Next page

Go to full version