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