nem0 / LumixEngine

3D C++ Game Engine - yet another open source game engine
MIT License
3.53k stars 398 forks source link

upgraded to c++20 #1463

Closed JakubLukas closed 1 year ago

JakubLukas commented 1 year ago

Done to enable use of new features, for example designated initializers.

Problem was with new genie, that could not handle "copy" command in configuration section. I did not found what it should do in older exe, even when searched in older genie docs, so I commented it out, everything works.

Second problem was with new char8_t type for utf8 char string literals, solved by suppressing with /Zc:char8_t-

Third problem was with physx including ciso646 header, that was removed in c++20, but physx is not using stuff from that header, so solved by _SILENCE_CXX20_CISO646_REMOVED_WARNING

nem0 commented 1 year ago

copy - Genie is custom https://github.com/nem0/GENie

nem0 commented 1 year ago

Closing this because it's not necessary to compile the whole engine in c++20 (it would affect all users), just your plugin. Note: current genie in the repository does not support c++20. I will eventually update it, or somebody can submit a PR.

JakubLukas commented 1 year ago

yup, i am lazy to merge genie (maybe 5 min of work :D ) so i just use c++20 in my plugin for now