Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] Alternate build system

Date2007-09-01 03:22
FromMichael Gogins
SubjectRe: [Cs-dev] Alternate build system
My initial response is, I do not think it is advisable to invest time and effort on an alternative way of doing something that already works, in a co-operative project, unless you can show to everyone's satisfaction that the alternative is clearly superior.

My second response is, I use not only Scons (with Csound) but also CMake (at my day job, to build a large cross asset platform trading system) every day. There is no doubt that CMake works well. But my distinct impression, based on long experience with both tools, is that SCons is better, mainly because everything is just Python code and it is easy to program and add onto. (I also have extensive experience with plain make, with Microsoft project files, with GNU autotools, and with Ant. I also prefer SCons to all of them.)

That SCons replaces make is by design. Make, in my experience, is not really very good, and that is why all these other build tools have appeared.

SCons also allows for out of directory builds, by the way.

However, in spite of experience to date, I am certainly willing to try your CMake build system. You could email me the files and instructions. One thing that has happened is that many people have worked on the SCons SConstruct file, and as a result it has become rather tangled and unclear. Probably I would prefer cleaning up SConstruct to switching to CMake, but as I said I am willing to try it.

Regards,
Mike

-----Original Message-----
>From: Felipe Sateler 
>Sent: Aug 31, 2007 8:36 PM
>To: Developer discussions 
>Subject: [Cs-dev] Alternate build system
>
>I am not very fond of scons. Thus, I started work on an alternate build system 
>with CMake. Why? There are several reasons:
> * CMake is also cross-platform
> * Separation of configure, build and install phases. This is very important 
>since usually lots of time are spent searching for python, java, lua, 
>sndfile, etc, and there is no need to do it more than once.
> * CMake does not attempt to replace make. It only replaces auto*, and then it 
>generates several makefiles. One then can use make as usual to override 
>flags, etc.
> * CMake syntax is clearer, as it was specifically designed to build stuff.
> * Clearer separation of logic and target specification.
> * Allows for out-of-tree builds (ie, build in a directory different from the 
>source directory).
>
>So I have a preliminary build system. It is nowhere near complete, and only 
>works on linux (more specifically, my computer :p). However adding support 
>for different platforms should not be difficult. Currently it builds most 
>stuff that I'm building for the Debian distribution, although there is no 
>possibility of configuration yet, and fails when stuff is not found, and, 
>most importantly, does not yet install anything.
>
>The patch consist mostly of adding CMakeLists.txt files, but there are 2 files 
>that were changed because some fltk stuff is named differently, and was 
>easier to change the source files than CMake's FLTK wrapper functions.
>
>Comments appreciated.
>
>
>-- 
>
>	Felipe Sateler




-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2007-09-01 04:25
FromFelipe Sateler
SubjectRe: [Cs-dev] Alternate build system
AttachmentsNone  None  csound-make.tgz  None  None