[Bf-committers] Re: handcrafted makefiles, autotools, scons and cmake ?

Jacques Beaurain jacques.beaurain at gmail.com
Mon Sep 18 12:56:15 CEST 2006

Hi Chris,

Thanks for the feedback, some replies below:

On 9/17/06, Chris Want <cwant at ualberta.ca> wrote:
> be an important gauge of cmake's usefulness. Also, I'm not sure
> how difficult this system is to maintain (for example, can a
> person just add a C file to a directory and expect it to
> build, or do they have to name each file somewhere?).
Currently the system is modelled after the Scons system, so in places
where wildcards for sources were used I used wildcards and in places
where it was not I didn't. In most places though wildcards are used,
so if a person runs cmake generation directly after doing a get the
projects and makefiles should be correct, so this has to be added to
the developer's workflow that plans to make use of this system.

> * in the tar file there is extern/verse/dist/mkprot/CMakeLists.txt,
> but sometime during my previous build with make there was a
> file created called extern/verse/dist/mkprot, and this caused
> the extraction of the tarball to fail.

I have been using a clean source tree every time, so have not run into
this, but I also do not use the make system. Is this not a problem
with the verse makefiles writing output directly into the sources
instead of the build directory? I will change the folder name for the
mkprot subdir to not interfere with the make system if people use both
for some reason.

> * my build fails because there is no option to exclude openal
> and I don't have openal installed

I tried to minimize the number of options available to simplify things
for the developers, so I used autodetection cmake scripts where
available. OpenAL is supposed to be turned off automatically if not
detected. What platform are you using? I will fix this or add an
option back.

One other question; OpenAL and SDL does not seem to be mutually
exclusive in blender build, if there is an option it could just be
WITH_SOUND which will require both libraries right?

> * I use the nice 'ccmake' tool for a curses interface to
> configure the sources. Each time I press 'c' to configure,
> I get a warning that essentially says:
> CMake produced the following output:
>   Configuring library bf_soundsystem
> .
> .
> etc.
> My guess is that you aren't handling output (like stdio/stderr)
> correctly in your cmake files. Other projects that use cmake
> (e.g. VTK) don't give such messages.

I have been using the command line interface and used the MESSAGE
command to output the configuration stage. It does however give some
progress feedback for command line usage, I will change the message
types to STATUS all over, which will give feedback in the status bar
instead in the UI.


More information about the Bf-committers mailing list