Discussion:
cmake again
Benjamin Piwowarski
2014-04-30 12:39:29 UTC
Permalink
Sorry to ask again, but there was no answer to my previous email.

In the master, with the provided patches (and provided I did not break anything for windows, but I tried to triple check everything), OS X compilation is (unless I am missing things) nearly feature complete. On OS X, it generates a full LyX and working bundle, with all the necessary dependencies - I checked with diffs on the autotools version.

So from what I understand, there is not much missing in order to have cmake working on all platforms; would it be wise to pursue a bit the effort in order to leave autotools behind and focus only on cmake? This would avoid, e.g. for the transition to QT5, to have to check that everything works with the two build systems. If going in this direction, maybe creating a meta bug on trac would make it easier to track down what is missing.

Tell me if this is worth pursuing a bit the effort, and what is missing in the current cmake system. I can work on linux/os x versions but cannot test with windows easily.
 
Benjamin
Pavel Sanda
2014-04-30 15:00:10 UTC
Permalink
Post by Benjamin Piwowarski
what is missing in the current cmake system.
Is the tarball created by cmake (reasonably) identical to tarball created by autotools?
Pavel
Benjamin Piwowarski
2014-04-30 16:48:21 UTC
Permalink
I did not try, but my first answer would be that there is no need to produce a specific tarball with cmake since there is no more ./configure and everything is handled through cmake. So the tar ball can be produced directly with tar. 

This will surely break the packaging process for distributions like e.g. debian where the building scripts have been adapted to the autotools way of building LyX, but this should not be a big problem -  I guess LyX is not the first package shipped with cmake only building.

benjamin
Post by Benjamin Piwowarski
what is missing in the current cmake system.
Is the tarball created by cmake (reasonably) identical to tarball created by autotools?
Pavel
Pavel Sanda
2014-04-30 17:01:07 UTC
Permalink
I did not try, but my first answer would be that there is no need to produce a specific tarball with cmake since there is no more ./configure and everything is handled through cmake. So the tar ball can be produced directly with tar. 
We ship only subset of files stored in git, so tar itself won't help.

If there is no configure, cmake scripts already know how to handle the various
additional features listed by ./configure --help?
(e.g. -program-prefix/suffix, build-type, version-suffix, monolithic-build,
(stdlib-)debug, qt4-dir/libs, spell libraries checking,etc).

Pavel
Vincent van Ravesteijn
2014-04-30 17:17:39 UTC
Permalink
Post by Benjamin Piwowarski
Post by Benjamin Piwowarski
I did not try, but my first answer would be that there is no need to
produce a specific tarball with cmake since there is no more ./configure
and everything is handled through cmake. So the tar ball can be produced
directly with tar.
We ship only subset of files stored in git, so tar itself won't help.
I guess that what is installed by cmake will be closer to the tar files we
are used to.
Post by Benjamin Piwowarski
If there is no configure, cmake scripts already know how to handle the various
additional features listed by ./configure --help?
(e.g. -program-prefix/suffix, build-type, version-suffix, monolithic-build,
(stdlib-)debug, qt4-dir/libs, spell libraries checking,etc).
Most of them are available yes.

Vincent
Pavel Sanda
2014-04-30 17:22:01 UTC
Permalink
Post by Vincent van Ravesteijn
Post by Pavel Sanda
We ship only subset of files stored in git, so tar itself won't help.
I guess that what is installed by cmake will be closer to the tar files we
are used to.
I do not follow what you mean.
Post by Vincent van Ravesteijn
Post by Pavel Sanda
If there is no configure, cmake scripts already know how to handle the various
additional features listed by ./configure --help?
(e.g. -program-prefix/suffix, build-type, version-suffix, monolithic-build,
(stdlib-)debug, qt4-dir/libs, spell libraries checking,etc).
Most of them are available yes.
Cool.
Pavel
Benjamin Piwowarski
2014-05-03 15:27:37 UTC
Permalink
On 30 Apr 2014 at 19:23:03 , Pavel Sanda (***@lyx.org) wrote:
Vincent van Ravesteijn wrote: 
We ship only subset of files stored in git, so tar itself won't help. 
 
I guess that what is installed by cmake will be closer to the tar files we 
are used to. 
I do not follow what you mean. 
I did not get neither - but what are the files that are shipped in the tarball but not in git?

benjamin 
Kornel Benko
2014-05-04 17:51:56 UTC
Permalink
Post by Pavel Sanda
Post by Vincent van Ravesteijn
Post by Pavel Sanda
We ship only subset of files stored in git, so tar itself won't help.
Using target 'git-archive', e.g.
# make git-archive
in cmake, produces ATM a tar file with all files for master.
We should correct this target for the appropriate branch though.
Post by Pavel Sanda
Post by Vincent van Ravesteijn
I guess that what is installed by cmake will be closer to the tar files we
are used to.
I do not follow what you mean.
I did not get neither - but what are the files that are shipped in the tarball but not in git?
benjamin
Kornel
Pavel Sanda
2014-05-05 16:58:43 UTC
Permalink
Post by Benjamin Piwowarski
I did not get neither - but what are the files that are shipped in the tarball but not in git?
Just grab tarball from ftp and check yourself ;) P
Benjamin Piwowarski
2014-05-07 08:50:39 UTC
Permalink
Will do! At the same time, I guess the tar will be different since we don’t need autotools related files but cmake ones for that tar build.

benjamin
Post by Benjamin Piwowarski
I did not get neither - but what are the files that are shipped in the tarball but not in git?
Just grab tarball from ftp and check yourself ;) P
Vincent van Ravesteijn
2014-05-07 09:01:15 UTC
Permalink
Post by Benjamin Piwowarski
Post by Benjamin Piwowarski
Post by Benjamin Piwowarski
I did not get neither - but what are the files that are shipped in
the tarball but not in git?
Just grab tarball from ftp and check yourself ;) P
Will do! At the same time, I guess the tar will be different since we
don’t need autotools related files but cmake ones for that tar build.
benjamin
Well, CMake generates makefiles as well..

Vincent
Benjamin Piwowarski
2014-05-07 09:04:45 UTC
Permalink
Post by Benjamin Piwowarski
I did not get neither - but what are the files that are shipped in the tarball but not in git?
Just grab tarball from ftp and check yourself ;) P
Will do! At the same time, I guess the tar will be different since we don’t need autotools related files but cmake ones for that tar build.

benjamin

Well, CMake generates makefiles as well..
Yes but those makefiles are specific to the current build (i.e. they contain absolute path, specific libraries, etc.). I will check anyways what is currently done with cmake & autotools and report on that latter. 

benjamin
Pavel Sanda
2014-05-07 15:38:57 UTC
Permalink
Will do! At the same time, I guess the tar will be different since we don???t need autotools related files but cmake ones for that tar build.
the story will be unfortuntely more complicated. we don't release bunch of files because the are only development related, we don't release some languages because the are poorly translated etc. p
Loading...