Kornel Benko wrote:

> Am Samstag, 4. Juni 2016 um 09:55:10, schrieb Georg Baum
>> 
>> However, this is not so important. With autotools we have only very few
>> people who understand the macro stuff in m4/, config/ and configure.ac,
>> but everybody is able to do his modifications to the various Makefile.am.
>> I am pretty sure that cmake can be setup in a similar way, so that we
>> have the complicated parts that need expert knowledge and are not changed
>> often, and the easy ones that can be changed by everybody.
> 
> Sort of. The comparable ones are m4 macros and macros in the
> development/cmake/modules directory. But I do not see cmake-analogy to
> Makefile.am files.

I thought those were the CMakeLists.txt files in the individual directories? 
The purpose of Makefile.am is to define what gets built, packaged and 
installed in that directory in a way as simple as possible. I had the 
impression that the purpose of CMakeLists.txt is the same. If it is not 
possible to set up cmake in a way that the average developer needs to know 
as little cmake stuff as he currently needs to know from autotools, then 
this would be a big disadvantage.

>> I would suggest to make a comparison table of build system features
>> in the wiki, and everybody adds the ones he needs. Then we can see which
>> build system supports which feature, and how much work it would be to
>> implement the mising ones in cmake.
> 
> +1

I started a quite incomplete table at http://wiki.lyx.org/Devel/BuildSystems 
with some options I used. I would invite everybody to contribute to make it 
complete. The only question is whether we should continue it in the wiki or 
in Development.lyx. I would prefer the latter, since it is easier to edit 
and you get better visual feedback, but of course this would make 
contributions from non-developers more hard.

>> One thing I noticed recently is the
>> version suffix: Which autotools you can use an arbitrary one, with cmake
>> you can only toggle between a predefined one or none at all, which is a
>> problem if you want to compare two different builds of the same version
>> with separate configurations (e.g. qt4/qt5 or different compiler
>> settings).
> 
> I never had problems with this. Each build with different settings can
> have its own build-dir, so the comparison is trivial. I am doing it this
> way. So for example my build dir for lyx using gcc5.3 with qt5.6 is
> '/usr/BUILD/BuildLyxGitQt5.6main-gcc5.3'
> 
> We don't need to install first.
> 
> But it is also easy to change the boolean selecting suffix to be a string.

IMHO it is needed. Sometimes you want to install and cannot use the build 
dir only. For example, Liviu would need to rename his .deb packages if we 
would switch to cmake right now, and this would be cumbersome for the users.


Georg


Reply via email to