gobo-eiffel / gobo

The Gobo Eiffel Project provides the Eiffel community with free and portable Eiffel tools and libraries.
https://sourceforge.net/projects/gobo-eiffel/
Other
59 stars 24 forks source link

Use CMake for bootstrap #15

Open gchauvet opened 8 years ago

gchauvet commented 8 years ago

Instead to use batch or sh scripts, I propose to use CMake subsytem to manage the bootstrap source code (I submit this pull request as an experimental improvement).

Note: bootstrap process has been changed : To get same behavior as "old" bootstrap, user need to execute :

cd $GOBO
geant bootstrap
geant bootstrap
gchauvet commented 8 years ago

Note: I've only Linux on my computer, then I can't test under windows operating system or macosx

ebezault commented 8 years ago

I'm not familiar with CMake. Is it something that needs to be installed beforehand on the machine? The reason why I wrote the scripts in .bat and .sh is that I knew that people could run them on their machine without having to install anything beforehand. Otherwise, I would have used geant.

gchauvet commented 8 years ago

Yes, CMake is an open source build system (like automake/autoconf, but more with high level abstraction). User needs to install CMake. Under Linux,this is a common package. The advantage is to delegate to CMake all the compilation process (source code searching, get options for compiler environment/profile defined by CMake generators, add nice command line progress bar to monitor compilation process).

ebezault commented 8 years ago

I can see that it is an improvement for those who are ready to install CMake on their machine. But it would be nice to still have a procedure to install the Gobo package for those who don't want to install CMake, or other tools like that. So I may be wrong, but my feeling is that using CMake should be an alternative to what was there, not a replacement. Can you investigate in the various Eiffel forums (in particular in the Gobo mailing list) to see whether people who were using the old .bat or .sh scripts are OK to use CMake instead? Thanks.

kwaxer commented 8 years ago

I'd prefer to avoid installing additional tools and to stick to plain shell scripts, or, if this is impossible, to follow Eric's suggestion to use geant.

gchauvet commented 8 years ago

Okay, I will prepare a "poll" with a Doodle on Gobo mailing list this afternoon

gchauvet commented 8 years ago

Doddle is available at this URL : http://doodle.com/poll/85tim76uttqbrzmx

ebezault commented 8 years ago

I have the impression that people prefer the old script files. However, I would not like your work on CMake to be lost (or to force people to have to use your fork if they want to use it). Personally I never used CMake, so I cannot say whether I would like to use it or not. But I can understand that some people may want to use it if it's available. So, instead of removing the old scripts, would it be possible to keep them for those of us who want to use them, and have your support for CMake live next to them for those who want to use CMake? I know that having duplication of tools like that means duplication of effort and maintenance. But from what I saw in your CMake files, it does not seem difficult to maintain. And you would maintain them anyway, right?

gchauvet commented 8 years ago

Yes, there is no issue to keep old bootstrap scripts with the CMake scripts. I will update my pull request ASAP

gchauvet commented 8 years ago

Bootstrapping with CMake is fine with Visual Studio 2015 generator (Windows 7 64 bits).