1.0.7 does not build on FreeBSD

FAILED: CMakeFiles/irrlamb.dir/ext/irrlicht/CColorConverter.cpp.o 
/usr/local/libexec/ccache/c++ -DGAME_VERSION=\"1.0.7\" -DGLM_ENABLE_EXPERIMENTAL -DLUA_USE_LINUX -DPLATFORM=2 -I/usr/local/include -I/usr/local/include/irrlicht -I/work/usr/ports/games/irrlamb/work/code-v1.0.7/ext -I/work/usr/ports/games/irrlamb/work/code-v1.0.7/ext/irrlicht/include 
-I/work/usr/ports/games/irrlamb/work/code-v1.0.7/ext/ode -I/work/usr/ports/games/irrlamb/work/code-v1.0.7/ext/ode/ode/src -I/work/usr/ports/games/irrlamb/work/code-v1.0.7/ext/ode/OPCODE -I/work/usr/ports/games/irrlamb/work/code-v1.0.7/ext/ode/libccd -I/work/usr/ports/games/irrlamb/wo
rk/code-v1.0.7/ext/ode/libccd/custom -I/usr/local/include/freetype2 -I/usr/local/include/AL -I/work/usr/ports/games/irrlamb/work/code-v1.0.7/src -O2 -pipe -fstack-protector-strong -fno-strict-aliasing  -DGLM_ENABLE_EXPERIMENTAL -O2 -pipe -fstack-protector-strong -fno-strict-aliasing 
 -DGLM_ENABLE_EXPERIMENTAL  -DNDEBUG -DdNODEBUG -MD -MT CMakeFiles/irrlamb.dir/ext/irrlicht/CColorConverter.cpp.o -MF CMakeFiles/irrlamb.dir/ext/irrlicht/CColorConverter.cpp.o.d -o CMakeFiles/irrlamb.dir/ext/irrlicht/CColorConverter.cpp.o -c /work/usr/ports/games/irrlamb/work/code-v1
.0.7/ext/irrlicht/CColorConverter.cpp
/work/usr/ports/games/irrlamb/work/code-v1.0.7/ext/irrlicht/CColorConverter.cpp:168:2: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  168 |         register u32 c;
      |         ^~~~~~~~
/work/usr/ports/games/irrlamb/work/code-v1.0.7/ext/irrlicht/CColorConverter.cpp:614:10: warning: 7 enumeration values not handled in switch: 'ECF_R16F', 'ECF_G16R16F', 'ECF_A16B16G16R16F'... [-Wswitch]
  614 |         switch (sF)
      |                 ^~
1 warning and 1 error generated.

Either the code should be fixed to be c++17 (which is the default on FreeBSD's clang) compatible, or c++ standard should be set explicitly in the CMakeLists.