On Thu, Aug 23, 2007 at 09:57:04AM -0500, Bo Peng wrote:
> > I have moved its content to
> > http://wiki.lyx.org/Devel/BuildSystems
> >
> > and I have categorised it as LyX_1_6.
> 
> The discussion is still going on?

Sure. My plan is to come to a conclusion within a few weeks.

> Then,

I added this to the 'Opinions' section in the Wiki.

> I chose scons for a lot of reasons, such as flexibility, platform
> independence. I have doubt in cmake's approach because I am not sure
> if cmake can achieve what we want. Conceptually, I am wondering:

If have no idea how cmake works, so hopefully Peter will answer
sometime in greter detail. I try to asnwer according to my current
knowledge.
 
> 1. Who is handling Package.cpp.in ==> Package.cpp? If cmake does it,
> then the generated vcproject or xcode stuff can not detect changes in
> Package.cpp.in. If cmakes gives this to make or vcproject, how can
> cmake make sure these tools can do something like this?

Right now it looks like cmake does it. There is code in
development/cmake/src/support/CMakeLists.txt suggesting that,
and if you try you'll notice that Package.C is re-created once
Package.cpp.in is changed. So it 'works'.
 
> If cmake has to re-generated a vcproject after such a change, why
> cmake is better than autogen.sh?

autogen.sh has to be run in the source tree. CMake (and scon, and qmake
for that matter) do not require changes to the source tree.

Apart from that the main reason to search a replacement is Speed.

> 2. Along the same line, will cmake be able to do 'cmake install
> version_prefix=16', 'cmake install DESTDIR=destdir' in a platform
> independent way? If vcproject does not do installation, how would
> cmake do it, or trick vcproject do it?

By definition, there is no platform independent installation, so I
wonder what exactly the requirements are here. (And of course I have no
clue how cmake manages it. But KDE uses cmake and runs on Windows and
is a bit more complex than LyX, so I doubt there's a problem)

> Overall, scons tries not to depend on another build system to achive
> maximum power, and I am not sure how cmake can achieve the same.

I guess more people are likely to agree on the opposite, namely that
e.g. a generated .vcproj file should be something that feels 'native'
when using in Visual Studio.

For running cl on the command line one does not need a .vcproj file.
[But I have still to see a scons generated .vcproj file to get an 
impression how it works]

Andre'

Reply via email to