Thalhammer / jwt-cpp

A header only library for creating and validating json web tokens in c++
https://thalhammer.github.io/jwt-cpp/
MIT License
864 stars 235 forks source link

Restore support for GCC-4.8 #246

Closed prince-chrismc closed 1 year ago

prince-chrismc commented 1 year ago

closes #197


I originally tried to setup a CentOS 7 docker image to build in but that was just too cumbersome. I did almost get it in https://github.com/prince-chrismc/jwt-cpp/blob/c81a6c998607ba05ea2e3b4a131620dc9eabd14a/.github/workflows/targets.yml but manually compiler CMake just takes forever...

I saw GitHub Actions still has Ubuntu 18.04 and I know that had GCC-4.8. But that's also limited to CMake 3.10 (we need 3.12 now). So looked into Ubuntu 20.04 but that just looked horrible. Again, I also looked at a container but that was the same problem as before.

👇 👇 👇 👇 👇

I personally really want to move to C++17... 23's feature list was just approved by ISO commitee... it's 5years old and the majority of platforms have complete support. Concepts would be amazing but those only made it in all 3 compilers 11 months ago...

I'd like to set the minimum at

prince-chrismc commented 1 year ago

@Thalhammer How do you feel about 0.8.0 being C++17?

Thalhammer commented 1 year ago

@Thalhammer How do you feel about 0.8.0 being C++17?

Not sure what C++17 would give us except for pissing of everyone stuck on C++11. The only newer standards feature I am looking forward to is C++20's concepts (to simplify the traits checks) but apart from that not sure if theres a reason to switch. Any particular reason why you'd wanna switch to C++17 ?

While I personally agree that nearing the end of 2022 everyone should have a compiler thats capable of at least C++17, I don't really see a reason to enforce that unless it benefits us and laoshanxi's reoccuring issues prove quite impressively that a modern compiler is far from the norm.

prince-chrismc commented 1 year ago

C++ 14 has detected, decltype auto, generic lambda... I also want template variables to try wide string support.

From 17 better auto rules, has included (this pr), conexpr lambda, fall through, deduction rules, void_t, more type traits

I know people are stuck but they are already will to make that compromise of that getting updates. But other are being limited.

I'd be willing to bump to c++20 😆

prince-chrismc commented 1 year ago

The docker solution is definitely viable but just costs CI time which bothers no one