I would convert my entire codebase to modules in a second if the CMake Support was nicer.
I would convert my entire codebase to modules in a second if the CMake Support was nicer.
Most likely that will be, simply, "import std" in almost all cases, with no reason for finer granularity.
Of course we will need to update our non-Standard libraries to get the benefits there. That will happen fast once more compilers finish implementing C++20 features.
[1]https://gitlab.kitware.com/cmake/cmake/-/issues/18355
[2]https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p16...
[3]https://devblogs.microsoft.com/cppblog/cpp20-modules-in-cmak...
I don't think it's hard to fathom that C++ modules might not gain traction when there is little indication of adoption in compilers, let alone code based that could benefit them.
You are using a snapshot frozen years ago. Surprise, frozen thing is still frozen! You are of course able to build for frozen system with modern compilers (e.g. "dev-toolset-11". If you don't, it is because, and only because, your employer has chosen not to.
My recommendation is, get a better employer.
Why the default is that horrible CentOS (I am an Ubuntu person), is beyond me.
It's been decades since Oracle stopped being relevant (only reason to ever pick up a RedHat compatible distro, IMO).
You can build for CentOS 7 in a docker image on your Amazon host, and also run Gdb on your Amazon host, using "target remote" to attach it to a gdbserver on your CentOS 7 target execution environment.
I use sshfs on my host to map a directory on the target, so my builds put binaries over there automatically.
Some 'normal' libraries still don't exist for ARM, and I have to compile more stuff myself.
My own C++ code is the one requiring GCC 5 or higher.
https://xmake.io/#/ https://tboox.org/2021/10/30/xmake-update-v2.5.9/