[Aptitude-devel] Towards a better build system

Sune Vuorela nospam at vuorela.dk
Fri Apr 30 14:19:43 UTC 2010


On 2010-04-29, Daniel Burrows <dburrows at debian.org> wrote:
> On Thu, Apr 29, 2010 at 11:03:30AM +0000, Sune Vuorela <nospam at vuorela.dk> was heard to say:
>> On 2010-04-29, Daniel Burrows <dburrows at debian.org> wrote:
>> > complete "proof of concept" build system in the tree, but I wasn't
>> > especially impressed.  The only thing I can say is that the result is
>> > better than autotools, but only just.
>> 
>> What's the metric for better? :)
>
>   Better support for parallel builds (without having to put everything
> in one big nonrecursive definition file).

check.

>   Direct support for building with all the different combinations of
> options that I usually want to produce, and doing so without stalling
> parallel builds.

this can be done, althought I think I would do as follows:
mkdir build-debug; cd build-debug ; cmake .. -DCMAKE_BUILD_TYPE=debug
-DBUILD_GTK=true
mkdir build-release; cd build-release ; cmake ..
-DCMAKE_BUILD_TYPE=release -DBUILD_GTK=true

as I'm pretty sure I would not want to build both all the time, but that
might also be due to my occasionally cpu limitations.

>> what do you mean by 'source distributions' ?
>
>   "make dist".
>
> --- begin quote ---
>   Where is "make dist"?
>
> CMake doesn't create a "make dist" target. 
> --- end quote ---

I would also prefer to get the tarballs from the version control system.

>>  - is it correct that the boost_test tests doesn't build?
>
>   It should build.

yeah. I just didn't see that I needed to add -DBOOST_TEST_DYN_LINK to
make it build. It took a bit of time to figure that out.

I have placed a patch at
http://elvira.killmulehill.net/~sune/buildsystem.cmake.diff which should
apply to todays tip with patch -p1 and work.

Still known missing:
 - documentation
 - translations
 - the boost test doesn't work. I need to figure out how to get the dirs
   for the data correct

usage:
mkdir build ; cd build ; cmake .. ; make ;party
or with gtk, add -DBUILD_GTK=true to the cmake invocation, and you get
two varianst, aptitude and aptitude-gtk built.


The patch also comes with various FindFoo.cmake modules for some of the
needed libraries, and also with a fixed FindGTK2.cmake (bug filed),
which can hopefully be dropped again soon.

Feedback welcome.

/Sune




More information about the Aptitude-devel mailing list