Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: SFML Installer  (Read 19131 times)

0 Members and 1 Guest are viewing this topic.

binary1248

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1405
  • I am awesome.
    • View Profile
    • The server that really shouldn't be running
SFML Installer
« on: November 30, 2013, 02:12:43 am »
Since so many people tend to have problems/fear building SFML for themselves instead of relying on pre-built versions which are outdated relatively fast and going through the headache of trying to get incompatible versions running on a totally different compiler version, I thought this would be a good opportunity to put SFGUI and SFNUL through a bit of testing.

That, and I was completely bored :P.

So any ways... I present... SFML Installer.

What is SFML Installer you might ask? Well, it's not like any other installer you have encountered before. This one actually builds the files it installs on the fly on the target system using your development toolchain. This rules out any possible incompatibilities and since it grabs the latest SFML master, a "reinstall" should automatically update your library to the latest version available on GitHub (in case Laurent was nice and fixed the bug you might have discovered ^^). And... the dialog windows are all driven by OpenGL :D.

Under the hood, SFML Installer is basically just a download client (which supports HTTPS with certificate verification through SFNUL for GitHub downloading) and a command executor. All it does is grab SFML from GitHub, looks for CMake and your toolchain and configures/compiles SFML so that it can install it to a directory of your choosing. This is simple for some people to do on their own, however the installer does it all automatically for those who can't or don't want to.

Right now, it has support for Code::Blocks and Visual Studio detection, meaning it will find make/nmake if you have a typical install of one of those on your system. If you have MinGW or nmake installed by themselves, they will only be found if they are executable through the PATH environment variable, but I assume they would have been added to PATH anyway in that case. If you are unlucky enough to have multiple Visual Studio installations on your system, SFML Installer will automatically use the latest version that is installed, if you don't like it and think it can be done better... repository details further down :P.

The default settings compile all possible configurations of dynamic/static and debug/release, so you won't be missing your favourite library when developing.

Since using pre-compiled libraries is mostly popular on Windows, I only coded in support for Windows for now. Anyone who thinks Linux/OS X might need support can fill in the empty functions that are already in the repository and try your luck. Whoever has more ambitious plans for the installer framework is free to realize them since the code is released under the WTFPL... because I was bored.

Like most open source code I write, the repository can be found over at GitHub: https://github.com/binary1248/SFMLInstaller

If you don't care about the code and just want the statically linked executable: SFMLInstaller.exe

If you don't trust me and think my win32 code will format your drive... well you're out of luck for now ;D.
SFGUI # SFNUL # GLS # Wyrm <- Why do I waste my time on such a useless project? Because I am awesome (first meaning).

Grimshaw

  • Hero Member
  • *****
  • Posts: 631
  • Nephilim SDK
    • View Profile
Re: SFML Installer
« Reply #1 on: November 30, 2013, 04:10:48 am »
Man this project is so amazing, with the correct growth, it can become huge! Not only in the sfml domain.. It could be made even more generic! Good job!

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11030
    • View Profile
    • development blog
    • Email
AW: SFML Installer
« Reply #2 on: November 30, 2013, 11:53:40 am »
Now we just need to test it some more and then make Laurent to host the installer and promote it on the download page. :D
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
Re: SFML Installer
« Reply #3 on: November 30, 2013, 02:17:21 pm »
Actually that's what a build system should be normally capable of. Automatically. Let's build something like that to make building others' stuff fun again. ;-)

The Illusionist Mirage

  • Full Member
  • ***
  • Posts: 115
  • My Life = Linux, C++ & Computers
    • View Profile
    • fleptic
    • Email
Re: SFML Installer
« Reply #4 on: November 30, 2013, 04:44:26 pm »
Nice project binary1248. :)

Quote from: binary1248
If you don't trust me and think my win32 code will format your drive

But I'm not sure of what you meant by that.

Now we just need to test it some more and then make Laurent to host the installer and promote it on the download page. :D

I agree with exploiter.

P.S binary1248 Your license is amazing ;)

nebula

  • Jr. Member
  • **
  • Posts: 96
    • View Profile
    • Email
Re: SFML Installer
« Reply #5 on: December 02, 2013, 08:47:31 pm »
Just tested it because I got a new version of visual studio. and everything worked out fine :D (except avira.. that program trolled me :D)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re: SFML Installer
« Reply #6 on: December 02, 2013, 09:10:04 pm »
A few suggestions that may add some comfort at small costs:

- add checkboxes to select the configurations to build (it's such a waste of time to build unused configurations)
- add checkboxes to select the most relevant CMake options (build doc, build examples, ...)
- add the ability to cancel everything (closing the SFML window doesn't stop the app if it's not finished)
- choose where to extract the source tree (with an option to remove it after compilation)?
Laurent Gomila - SFML developer

binary1248

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1405
  • I am awesome.
    • View Profile
    • The server that really shouldn't be running
Re: SFML Installer
« Reply #7 on: December 03, 2013, 05:45:53 am »
A few suggestions that may add some comfort at small costs:

- add checkboxes to select the configurations to build (it's such a waste of time to build unused configurations)
- add checkboxes to select the most relevant CMake options (build doc, build examples, ...)
- add the ability to cancel everything (closing the SFML window doesn't stop the app if it's not finished)
- choose where to extract the source tree (with an option to remove it after compilation)?
Where is the pull request? ;D
SFGUI # SFNUL # GLS # Wyrm <- Why do I waste my time on such a useless project? Because I am awesome (first meaning).

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re: SFML Installer
« Reply #8 on: December 03, 2013, 07:39:18 am »
I wish I could get bored like you :P
Laurent Gomila - SFML developer

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
Re: SFML Installer
« Reply #9 on: December 03, 2013, 08:06:17 am »
YMMD :D

r0d

  • Jr. Member
  • **
  • Posts: 85
    • View Profile
Re: SFML Installer
« Reply #10 on: December 03, 2013, 03:54:04 pm »
Hello,

is it possible to compile SFML in 64bits for VS2013 with this auto-installer? If yes, how?
Thank you.
« Last Edit: December 03, 2013, 04:03:55 pm by r0d »

binary1248

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1405
  • I am awesome.
    • View Profile
    • The server that really shouldn't be running
Re: SFML Installer
« Reply #11 on: December 03, 2013, 04:24:26 pm »
If you need anything more advanced than the "default settings 32-bit" build, then you should compile it yourself instead of using the Installer. Anybody willing to build 64-bit applications is expected to know how to do this anyway so they aren't really the target audience of the Installer. But... the source code is freely available, so if you want to modify it to support 64-bit builds, go ahead.
SFGUI # SFNUL # GLS # Wyrm <- Why do I waste my time on such a useless project? Because I am awesome (first meaning).

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
Re: SFML Installer
« Reply #12 on: December 04, 2013, 08:52:11 am »
Why is 64 bits on Windows still treated as being so special by many people?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re: SFML Installer
« Reply #13 on: December 04, 2013, 09:09:40 am »
Quote
Why is 64 bits on Windows still treated as being so special by many people?
32 bits works everywhere and is ok for 99.9% of apps.
64 bits works on 64 bits OSes only and has no benefit for 99.9% of apps.
Laurent Gomila - SFML developer

Lo-X

  • Hero Member
  • *****
  • Posts: 618
    • View Profile
    • My personal website, with CV, portfolio and projects
Re: SFML Installer
« Reply #14 on: December 04, 2013, 09:19:44 am »
<troll>The size doesn't matter</troll>

Isn't it beneficial for games ? I mean more and more game have a special 64b version (if not by default now)