sofa-framework / sofa

Real-time multi-physics simulation with an emphasis on medical simulation.
https://www.sofa-framework.org
GNU Lesser General Public License v2.1
871 stars 297 forks source link

[Sofa.Http] Introduction of a latest release checker #4702

Open alxbilger opened 2 weeks ago

alxbilger commented 2 weeks ago

I chose the library https://github.com/yhirose/cpp-httplib because it allows also to create a server (but not used in this PR). In any case, whatever the library we choose, we must use openSSL (we request a https). This is the main concern about this PR. In terms of installation, I think Ubuntu and macOS are straightforward because there are packages. But Windows is bit more tricky. The pre-built binaries are not available on the openSSL website. I found them here: https://slproweb.com/products/Win32OpenSSL.html. After installation, I had to define OPENSSL_ROOT_DIR, and add the bin folder to my path.

In this PR, the newly introduced module is linked only in Sofa.GUI.Qt and the version checker is called at init (for test). A later contribution will use the introduced function to show the latest version in the GUI.

Output example:

[INFO]    [VersionChecker] You are using the latest version (24.06.99). {272.525 ms}

By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).


Reviewers will merge this pull-request only if