gobo icon indicating copy to clipboard operation
gobo copied to clipboard

Use CMake for bootstrap

Open gchauvet opened this issue 10 years ago • 10 comments

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 avatar Dec 19 '15 10:12 gchauvet

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

gchauvet avatar Dec 19 '15 10:12 gchauvet

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.

ebezault avatar Dec 19 '15 10:12 ebezault

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).

gchauvet avatar Dec 19 '15 10:12 gchauvet

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.

ebezault avatar Dec 19 '15 11:12 ebezault

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.

kwaxer avatar Dec 19 '15 11:12 kwaxer

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

gchauvet avatar Dec 19 '15 11:12 gchauvet

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

gchauvet avatar Dec 19 '15 12:12 gchauvet

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?

ebezault avatar Dec 22 '15 08:12 ebezault

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

gchauvet avatar Dec 22 '15 08:12 gchauvet

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

gchauvet avatar Dec 27 '15 10:12 gchauvet