On Sun, Jun 05, 2016 at 01:59:53PM +0200, Kornel Benko wrote:
> Am Sonntag, 5. Juni 2016 um 12:13:51, schrieb Georg Baum 
> <georg.b...@post.rwth-aachen.de>
> > 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.
> 
> Yes, you are right. Sometimes I cannot see the forest. Too many trees.
> 
> > >> 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.
> 
> OK, starting on the list first. I can only comment on the cmake part.
> 
> [A] detection of  external  dependencies
>       cmake does full detection IMHO
> [B] create .rpm
>       cmake creates rpm, deb,
> [E] create window package
>       don't know, we should ask Peter

CC'ing Peter then.

Scott

> [I] Reliability
>       why is scons higher then autotools?
>       cmake not reliable?
> [J] Supported platforms
>       cmake supports all our platforms IMHO
> 
> Commandline arguments for autotools and cmake (arguments for cmake)
> custom archiver              -DCMAKE_AR=
> custom assemble           -DCMAKE_AS=
> custom C compiler          -DCMAKE_CXX_COMPILER=
> C++ runtime library       -DLYX_STDLIB_DEBUG=ON
> included boost               -DLYX_EXTERNAL_BOOST=OFF
> included hunspell          -DLYX_3RDPARTY_BUILD=ON
> included zlib                  -DLYX_3RDPARTY_BUILD=ON
> installation prefix          -DCMAKE_INSTALL_PREFIX=
> version suffix                in work
> verbose compiler output -DLYX_QUIET=OFF
> 
> 
> > >> 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.
> > 
> 
> I started the work. But I have to know, what should be affected by the suffix.
> Suffix = xy
> 1.) Installations directory (probably not)
> 2.) Environment variables (like LYX_USERDIR_xy)
> 3.) Package name
> 4.) Program suffixes (lyx2.3.dev)
> 5.) Data directory (for lyx-system-lib-dir)
> 6.) Binary dir
> 
> > Georg
> 
> 
>       Kornel


Attachment: signature.asc
Description: PGP signature

Reply via email to